当我想从循环中获取jquery值时,我遇到了问题。这是我的代码
<?php
for($x=0; $x < count($results); $x++){
?>
<span id="delete">Delete</span>
<input type="hidden" id="comm" name="comm" value="<?=$results[$x]['id'];?>">
<?php
}
?>
这是我的jquery代码
$("#delete").click(function() {
var comm = $("#comm").val();
alert(comm);
});
有了这个条件,当我点击“删除”时,我第一次得到价值但是当我再次点击时我没有得到任何价值
答案 0 :(得分:0)
首先,更改您的代码,以便不重复ID:
<?php
for($x=0; $x < count($results); $x++){
?>
<span class="delete">Delete</span>
<input type="hidden" class="comms" id="comm<?php echo $x; ?>" name="comm<?php echo $x?>" value="<?=$results[$x]['id'];?>">
<?php
}
?>
现在,在您的javascript代码中:
$(".delete").click(function() {
var comm = $(this).find("+ input").val();
alert(comm);
});
答案 1 :(得分:0)
问题是您正在选择标识为delete
的第一个元素。 ID必须在您的网页上是唯一的。
我发现你只是使用隐藏输入来获取它的值。如果您仅将其用于此目的,则可以省略它,只需将数据作为data-*
属性添加到删除按钮。
<强> PHP:强>
<?php for($x=0; $x < count($results); $x++){ ?>
<span class="delete" data-id="<?=$results[$x]['id'];?>">Delete</span>
<?php } ?>
<强> jQuery的:强>
$(".delete").click(function() {
var comm = $(this).data('id');
alert(comm);
});
优点是,如果您的身份证号码是号码,它也将为您提供。