在我看来,我有一个foreach循环,如下所示
<?php foreach($wishes as $wish) { ?>
<input id="delete" type="button" value="<?= $wish->id ?>">
<?php } ?>
每个按钮的按钮值会有所不同
如果我使用下面的方法,则只需要单击第一个按钮,而其他按钮则不起作用
我做错了什么
$(document).ready(function() {
$("#delete").click(function(event) {
event.preventDefault();
var id = $("#delete").val();
console.log('delete');
console.log(id);
});
});
答案 0 :(得分:1)
使用类而不是ID。因为ID必须是唯一的。由于您的ID值是动态的,因此您可以使用按钮的类来监听按钮的点击事件。
<?php foreach($wishes as $wish) { ?>
<input class="delete" type="button" value="<?= $wish->id ?>">
<?php } ?>
$(document).ready(function() {
$(".delete").click(function(event) {
event.preventDefault();
var id = $(this).val();
console.log(id);
});
});
答案 1 :(得分:0)
<?php foreach($wishes as $wish) { ?>
<input class="delete" type="button" value="<?= $wish->id ?>">
<?php } ?>
方法1
将类而不是ID用于点击事件
$(document).ready(function() {
$(".delete").click(function() {
var IdValue = $(this).val();
alert(IdValue);
});
});
方法2
点击按钮onclick="function_name()"
即可调用该函数,并将id作为参数传递
<?php foreach($wishes as $wish) { ?>
<input class="delete" type="button" value="<?= $wish->id ?>" onclick="GetId(<?= $wish->id ?>)" >
<?php } ?>
function GetId(IdValue){
alert(IdValue)
}
答案 2 :(得分:-1)
添加到事件的代码类中
<?php foreach($wishes as $wish) { ?>
<input id="<?= $wish->id ?>" class="action" type="button" >
<?php } ?>
$wish->id
-> id必须是uniq,并且服务器必须提供
$(document).ready(function() {
$(".action").click(function(event) {
event.preventDefault();
var id = event.target.id;
console.log('delete');
console.log(id);
});
});