查看
<?php $no=1; foreach($result as $r){?>
<span><?php echo $r['id'];?></span><span><?php echo $r['name'];?></span>
<button class="btn btn-success" id="<?php echo $no?>">Add</button>
<?php $no++;}?>
这个php代码将显示5个具有不同id(1,2,3等)的按钮。我想要发生的是当我点击5个按钮中的任何一个时,jQuery函数将显示其id。 我有这个代码。
var btn = $('.btn-success').attr('id');
$('#'+btn).click(function(){
alert(btn);
}
但是,它只出现在第一个id。
答案 0 :(得分:2)
$('.btn-success')
获取所有元素,但是当您添加attr()
时,它只获取集合中第一个元素的属性。
您可以将事件处理程序附加到整个集合,并使用this.id
获取事件处理程序中单击元素的ID
$('.btn-success').on('click', function(){
alert(this.id);
});
答案 1 :(得分:0)
尝试以下
$('.btn-success').click(function(){
$(this).attr('id');
alert(btn);
}
如果可能的话,我建议不要使用数字作为ID值。请检查此链接Valid ID and Name
答案 2 :(得分:0)
试试这个..
$('.btn-success').on('click', function(){
alert(this.id);
});
答案 3 :(得分:0)
您可以执行以下操作:
在你看来:
<?php $no=1; foreach($result as $r){?>
<span><?php echo $r['id'];?></span><span><?php echo $r['name'];?></span>
<button onclick="abc(this.id)" class="btn btn-success" id="<?php echo $no?>">Add</button>
<?php $no++;}?>
使用此javascript函数:
function abc(id){
alert(id);
}