0

我使用 PHP 来显示来自数据库的一些结果。

while ($row = $stmt->fetch()) {
print "
   <tr id = '".$row[0]."' class = 'fila'>
         <td><input type='checkbox' name='checkboxx[]' value = '".$row[0]."'</td>
         <td>".$row[1]."</td>   
         <td>".$row[3]."</td>
         <td>".$row[4]."</td>
    </tr>
";
}

使用 jQuery,如果单击它,我想显示每行 (TR) 的 ID。

我有这个代码。

$(document).ready(function(){
    $(".fila").click(function(){
       var id = $('.fila').attr('id');
        alert(id);
    });
});

问题:点击不同行时总是显示相同的ID,实际上我查看源代码,每个TR都有它的ID,因为它们是从DB中选择的,所以它们是不同的。

4

2 回答 2

1
   var id = $('.fila').attr('id');

应该

   var id = $(this).attr('id');

否则,您不会在正确的行上进行操作。$('.fila')选择所有行,而不是您要附加click到的行。

如果您使用$(this),它会提醒自己的 id,在这种情况下,它本身就是您刚刚单击的正确行。

于 2013-02-16T01:20:41.330 回答
1

改成这个...

$(document).ready(function(){
    $(".fila").click(function(){
       var id = $(this).attr('id');
       alert(id);
    });
});

$(this)是单击事件处理程序中被单击的元素。

你也可以用这个...

$(document).ready(function(){
    $(".fila").click(function(){
       var id = this.id;
       alert(id);
    });
});

它不依赖 jQuery 来获取被点击元素的 id。他们都达到了相同的结果,但第二个“稍微”更有效率。

于 2013-02-16T01:20:45.730 回答