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

我之前已经问过类似的问题,但我没有看到适合我问题的答案。 我有一个div触发一个存储id的jquery脚本。 我可以将id转换为jquery中的变量,但我想将该id分配给存在于同一页面上的PHP变量。</ p>

到目前为止这是我所拥有的 。 这是我的div存在于 index.php </ code>中:</ p>

  echo'&lt; div id =“'。$ unit_id。'”class =“ 下拉单位'。$ unit_size。' 单位 -  '$ unit_number。'  '$ unit_status。'  data-unit-id  - '。$ unit_id。'“&gt;'; 
</ code> </ pre>

这是我从 functions.php调用的jquery </ code>:</ p>

 &lt; script&gt; 
$('。unit.available')。click(function(){
var unit_id = $(this) .attr('id');
$ .ajax({
type:'post',
data:{id:unit_id},//传递id
});
});
&lt ; / script&gt;
</ code> </ pre>

我想将 unit_id </ code>传递给名为 index.php </ code>的变量< 代码> $ getID </ code>但我似乎无法找到进入那里的方法。 我尝试过使用帖子,但确实没有提交表单。 这只是点击潜水。 </ p>
</ div>

展开原文

原文

I know similar questions to this have been asked before but I don't see an answer that suits my question. I have a div that triggers a jquery script which stores an id. I can get the id into a variable in the jquery but I want to then assign that id to a PHP variable that exists on the same page.

So far this is what I've got. Here is my div that exists in index.php:

echo '<div id="'.$unit_id.'" class="dropdown unit '.$unit_size.' unit-'.$unit_number.' '.$unit_status.' data-unit-id-'.$unit_id.'">';

And here is my jquery that I call in from functions.php:

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

I want to pass the unit_id into a variable on index.php called $getID but I can't seem to find a way of getting in there. I've tried using post but there really isn't a form being submitted. It's just a dive being clicked on.

dongzuo9096
dongzuo9096 如果它有帮助,我正在努力完成你可以在这个页面上看到。selfstorageeasthaven.com/booking.php。当您单击其中一个单位时,查看信息顶部如何变化?这就是我想要做的。
4 年多之前 回复
douzhaishan5462
douzhaishan5462 做一个成功的回调输出id所以脚本正在工作
4 年多之前 回复
drqn5418
drqn5418 对困惑感到抱歉。div标签实际上在回声中
4 年多之前 回复
dongtuo5611
dongtuo5611 «我想将该id分配给存在于同一页面上的PHP变量。»«...在同一页面上»......这引起了混乱。您应该阅读更多关于什么是Ajax的内容
4 年多之前 回复
douhu8851
douhu8851 有一个小错误。你不是在php标签里写php,把你的代码移到ta里面
4 年多之前 回复
dpqmu84646
dpqmu84646 使用AJAX的成功回调
4 年多之前 回复
douci1196
douci1196 您需要一次调试这一步。如果没有调用click处理程序,那么很明显不会发生Ajax调用,所以首先检查click处理程序,一旦知道它正在工作,请检查Ajax代码。($('。unit.available')。click(...)只会在脚本运行时在单元和可用类上放置一个单击处理程序。所以假设你的元素最初没有可用的类,它没有点击处理程序。)
4 年多之前 回复

4个回答



您必须更改&lt; div&gt; </ code>中的 id </ code>并进行设置 获取jQuery发送的变量。 除此之外,你的jQuery脚本看起来很好。</ p>

这是我将如何做到的:</ p>

 #获取变量(如果已设置)。

&lt;?php $ unit_id =(isset($ _ POST [“id”]))? $ _POST [“id”]:null; ?&gt;

#E将其作为div的id。
&lt; div id =“&lt;?= $ unit_id;?&gt;” class =“dropdown unit”&gt;&lt; / div&gt;
</ code> </ pre>


</ p>

编辑:</ h2>

上面的PHP代码等于:</ p>

 #获取变量(如果已设置)。
&lt;?php
if(isset($ _ POST) [“id”])):
$ unit_id = $ _POST [“id”];
else:
$ unit_id = null;
endif;
?&gt;
</ code> </ pre >
</ div>

展开原文

原文

You must change your id in your <div> and set it to fetch the variable sent by jQuery. Other than that, your jQuery script looks fine.

Here's how I would do it:

# 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>


EDIT:

The PHP code above is equal to:

# Fetch the variable if it's set.
<?php
    if (isset($_POST["id"])):
        $unit_id = $_POST["id"];
    else:
        $unit_id = null;
    endif;
?>

dqy0707
dqy0707 很高兴我能帮助你!
4 年多之前 回复
duanhuan5409
duanhuan5409 让它工作,谢谢!
4 年多之前 回复
dongliyi967823
dongliyi967823 是。 它将检查id是否已成功传递给PHP,如果已将它分配给变量$ unit_id。 查看我的编辑以获取代码说明。
4 年多之前 回复
dsizd368332
dsizd368332 是<?php $ unit_id =(isset($ _ POST [“id”]))? $ _POST [“id”]:null; 如果在jquery中设置,应该抓住id?
4 年多之前 回复



将id分配给div id属性,使用:</ p>

 &lt; div  id =“&lt;?php echo $ unit_id;?&gt;”  class =“dropdown unit”&gt;&lt; / div&gt; 
</ code> </ pre>
</ div>

展开原文

原文

Assign id to div id attribute like this, Use:

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



试试这个希望它会起作用</ p>

 &lt; div id =“&lt;  ?php echo $ unit_id;?&gt;“  class =“dropdown unit”&gt;&lt; / div&gt; 

&lt; script&gt;
$('。unit.available')。click(function(){
var unit_id = $(this)。 attr('id');
$ .ajax({
type:'post',
'id ='+ unit_id,//传递id
});
});
&lt; / 脚本&gt;
</ code> </ pre>
</ div>

展开原文

原文

Try this hope it will work

<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>

duanchi1230
duanchi1230 我相信它不会错过ajax提供的任何功能。 并且不会产生任何问题
4 年多之前 回复
drny60365
drny60365 永远不要这样做,遵循标准。 作为ajax,否则你会错过功能。 并且不要向别人提出建议
4 年多之前 回复
duanqin2026
duanqin2026 它会工作。 只是另一种传递数据的方式。 你说为什么不以这种方式传递id?
4 年多之前 回复
douzha5990
douzha5990 类型:'post','id ='+ unit_id,//传递id我不明白为什么你这样传递id。
4 年多之前 回复



你在div ID中的'$ unit_id'是什么意思。 只需将代码放在PHP Tag中,在HTML页面中使用PHP时,使用PHP标记内的代码。</ p>

可以使用PHP标记:&lt;?php echo $ unit_id?&gt; </ code>(或)&lt;?= $ unit_id?&gt; </ code>(短标签)。</ p>

更改div:</ p>

<前> &lt; div id =“&lt;?= $ unit_id?&gt;” class =“dropdown unit”&gt;&lt; / div&gt;
</ code> </ pre>

或</ p>

 &lt; div id =  “&lt;?php echo $ unit_id?&gt;”  class =“dropdown unit”&gt;&lt; / div&gt; 
</ code> </ pre>

然后您的脚本将正常工作</ p>

   &lt; script&gt; 
$('。unit.available')。click(function(){
var unit_id = $(this).attr('id');
//检查值是否通过
console.log(unit_id);
$ .ajax({
type:'post',
data:{id:unit_id},//传递id
});
}); \ n&lt; / script&gt;
</ code> </ pre>
</ div>

展开原文

原文

What you mean by this '$unit_id' in div ID. Just put the code in PHP Tag, while working with PHP in HTML pages use the code inside PHP tags.

Availale PHP tags : <?php echo $unit_id ?> (or) <?=$unit_id ?> (short tag).

Change your div with :

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

or

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

Then your script will be work

<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>

duankuangxie9070
duankuangxie9070 不幸的是问题不在于我的div没有正确的标签。 div的代码实际上在echo中。 我会编辑我的问题以反映这一点。 你的脚本就像我的一样,但我想知道如何将unit_id变成一个我可以回显到index.php的php变量。
4 年多之前 回复
ds34222222
ds34222222 你是对的@Fareed。
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐