单击td上的事件未触发

时间:2012-08-28 19:06:10

标签: jquery html-table onclick

我在PHP中生成表格并使用
将其添加到HTML 我以这种方式将PHP代码添加到HTML:

$('#pnametable').html(myVar);   

我的PHP代码:

$str="<table id='notable'>";    
while($row=mysql_fetch_array($result,MYSQL_ASSOC)){       
   $str.="<tr id='gtpname'><td class='pnotd'>".$row['pname']."</td></tr>";       
}       
$str.="</table>";`   

现在我的jQuery代码是这样的:

$("#notable > tbody > tr > td").click(function() {       
  alert("wdwad");      
});

请帮我找到解决方案。

3 个答案:

答案 0 :(得分:3)

生成的数据是动态的。尝试使用“on”方法。

答案 1 :(得分:2)

你不是100%清楚你是如何建立你的桌子的,但似乎你是在动态地做这件事。如果是这种情况,您需要使用{/ 3}}这样的方法

$('#pnametable').on('click','#notable td', function(){
    alert("wdwad");
});

我假设这个客户端代码正在构建表

$('#pnametable').html(myVar);   

答案 2 :(得分:0)

您的jquery选择器已关闭。它正在寻找一个tbody,但你的PHP代码不会创建一个tbody。

您可以像这样修改PHP:

$str="<table id='notable'><tbody>";    
while($row=mysql_fetch_array($result,MYSQL_ASSOC)){       
   $str.="<tr id='gtpname'><td class='pnotd'>".$row['pname']."</td></tr>";       
}       
$str.="</tbody></table>";

或者将jquery选择器更改为: $("#notable > tr > td")