通过单击ID无法警告ID按钮

时间:2014-05-03 14:18:39

标签: javascript php jquery codeigniter

查看

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

4 个答案:

答案 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);
}