我使用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。
答案 0 :(得分:1)
var id = $('.fila').attr('id');
应该是
var id = $(this).attr('id');
否则您没有在右行操作。 $('.fila')
选择所有行,而不是您要将click
附加到的行。
如果您使用$(this)
,它会提醒自己的ID,在这种情况下,本身就是您刚刚点击的正确行。
答案 1 :(得分: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。他们都取得了相同的结果,但第二个是“略微”更有效率。