将值从jquery传递到同一页面的php变量

Passing value from jquery to php variable in same page

本文关键字:一页 php 变量 jquery      更新时间:2023-09-26

我知道以前有人问过类似的问题,但我没有看到适合我问题的答案。我有一个div,它触发存储id的jquery脚本。我可以把id赋给jquery中的一个变量,但我想把这个id赋给一个存在于同一页面中的PHP变量。

到目前为止,这是我得到的。这是我的div,存在于index.php:

echo '<div id="'.$unit_id.'" class="dropdown unit '.$unit_size.' unit-'.$unit_number.' '.$unit_status.' data-unit-id-'.$unit_id.'">';
这是我从functions.php调用的jquery:
<script>
    $('.unit.available').click(function(){
        var unit_id = $(this).attr('id');
        $.ajax({
            type: 'post',
            data: {id: unit_id}, //Pass the id
        });
    });
</script>

我想把unit_id传递到index.php上一个叫做$getID的变量,但我似乎找不到进入那里的方法。我试过使用post,但真的没有提交表单。它只是一个潜水被点击。

你必须在你的<div>中改变你的id,并设置它来获取jQuery发送的变量。除此之外,你的jQuery脚本看起来很好。

我是这样做的:

# Fetch the variable if it's set.
<?php $unit_id = (isset($_POST["id"])) ? $_POST["id"] : null; ?>
# Echo it as the id of the div.
<div id = "<?= $unit_id; ?>" class = "dropdown unit"></div>


编辑:

上面的PHP代码等于:
# Fetch the variable if it's set.
<?php
    if (isset($_POST["id"])):
        $unit_id = $_POST["id"];
    else:
        $unit_id = null;
    endif;
?>

像这样为div id属性指定id,使用:

<div id="<?php echo $unit_id; ?>" class="dropdown unit"></div>

试一下,希望能成功

<div id="<?php echo $unit_id;?>" class="dropdown unit"></div>

<script>
    $('.unit.available').click(function(){
        var unit_id = $(this).attr('id');
        $.ajax({
            type: 'post',
            'id='+unit_id, //Pass the id
        });
    });
</script>

div ID中的'$unit_id'是什么意思?只需将代码放在PHP标签中,而在HTML页面中使用PHP时使用PHP标签中的代码。

可用的PHP标签:<?php echo $unit_id ?>(或)<?=$unit_id ?>(短标签)。

将div改成:

<div id="<?=$unit_id ?>" class="dropdown unit"></div>

<div id="<?php echo $unit_id ?>" class="dropdown unit"></div>

然后你的脚本将工作

<script>
    $('.unit.available').click(function(){
        var unit_id = $(this).attr('id');
       // to check whether value passing or not 
       console.log(unit_id);
        $.ajax({
            type: 'post',
            data: {id: unit_id}, //Pass the id
        });
    });
</script>