Javascript 如何使html表格中的行可单击
我有一个Javascript函数,它用html创建一个表。这正是我想要的Javascript 如何使html表格中的行可单击,javascript,jquery,html-table,Javascript,Jquery,Html Table,我有一个Javascript函数,它用html创建一个表。这正是我想要的 var thead = '<table><thead><tr><td>#</td><td>Name</td><td>Id</td></tr></thead><tbody>\n'; for(var i=0; i<dataArray.length; i++) { tbod
var thead = '<table><thead><tr><td>#</td><td>Name</td><td>Id</td></tr></thead><tbody>\n';
for(var i=0; i<dataArray.length; i++)
{
tbody += '<tr class="row">';
tbody += '<td>' + (i+1) + '</td>';
tbody += '<td>' + dataArray[i].Device_Name + '</td>';
tbody += '<td>' + dataArray[i].Device_Id + '</td>';
tbody += '</tr>\n';
}
var tfooter = '</tbody></table>';
document.getElementById('dataTableDiv').innerHTML = thead + tbody + tfooter;
我做错了什么?因为您是从Jquery动态生成HTML,所以请尝试事件委派,如下所示:-
$(document).on('click','.row',function(){
// Your Code...
});
或
或者(在回答中添加Jai的有用评论)
因为您是从Jquery动态生成HTML,所以请尝试事件委派,如下所示:-
$(document).on('click','.row',function(){
// Your Code...
});
或
或者(在回答中添加Jai的有用评论)
我正要回答这个问题我会工作的,但相当繁重。如果他只在加载文档时创建表,而不在加载后添加行,则不需要它。非常感谢,先生。两天来一直在努力解决这个问题:-(更好的是
$(“#dataTableDiv”)。on(事件,选择器,fn)
我正要回答这个问题。:DWill work,但相当沉重。如果他只在加载文档时创建表,而不在加载后添加行,那么他就不需要它。Worked。非常感谢,先生。我已经花了两天时间试图解决这个问题:-(更好的方法是$('#dataTableDiv')。on(事件,选择器,fn);
如果在加载文档后在脚本中创建表,则无法将单击处理程序附加到tr click事件,因为触发document.ready事件时它们不存在。您可以尝试将表构造放入函数中,在行单击处理程序定义之前调用此函数。如果在脚本加载文档后,无法将单击处理程序附加到tr click事件,因为触发document.ready事件时它们不存在。您可以尝试将表构造放入函数中,在行单击处理程序定义之前调用此函数。
$(document.body).on('click','.row',function(){
// Your Code...
});
$('#dataTableDiv').on('click','.row',function(){
// Your Code...
});