[英]DataTables jquery identifying row ID
我正在使用DataTables并捕捉到img,单击“编辑”或“删除”图标。 我的问题是,我需要捕获行ID。我尝试将行ID放在href标签中,但是npt能够提取它。
当前代码是
$('#datatable tbody tr a.delete img').live( 'click', function (e) {
var rowID = $('a').attr('href');
alert(rowID);
if (!fancyConfirm(rowID, "Are you sure you want to delete this record?", function(ret) { alert(rowID) }))
e.preventDefault();
});
您可以在http:// www(@)fisheragservice(@)com / tm / users(@)html中查看实际页面。请用。替换(@)的。因为页面包含实际的电子邮件地址而不是有一个spma bot发现..
您需要使用$('a')选择所有锚来获取rowID。 那不管用。 而是在点击处理程序中使用parent()。attr()函数。 即:
$('#datatable tbody tr a.delete img').live( 'click', function (e) {
var rowID = $(this).parent().attr('href');
alert(rowID);
if (!fancyConfirm(rowID, "Are you sure you want to delete this record?", function(ret) { alert(rowID) }))
e.preventDefault();
});
您能否仅将click
事件而不是链接中的img
附加到链接上,然后使用this
?
$('#datatable tbody tr a.delete').live( 'click', function (e) {
var rowID = $(this).attr('href');
alert(rowID);
if (!fancyConfirm(rowID, "Are you sure you want to delete this record?", function(ret) { alert(rowID) }))
e.preventDefault();
});
我不确定您是否要查找实际的表行,或者该行是否具有一些有意义的信息(例如数据库键)。
如果您确实在查看行ID,请考虑下面的示例,该示例使用fnRender属性。
var oTable = $('#inventory_list').dataTable ({
'bServerSide' : true,
'bAutoWidth' : false,
'bJQueryUI' : false,
'sPaginationType': 'full_numbers',
'sAjaxSource' : '/inventory/listall',
'aoColumns' :
[
{
'bSearchable': false,
"bSortable": false,
"fnRender" : function ( oObj )
{
var colval = '<div class="editcol"><a href="/inventory/edit/' +
oObj.aData[0] + '">' +
'<img src="/img/edit.png" alt="edit"><a/>' +
'<a href="/inventory/delete/' + oObj.aData[0] + '">' +
'<img src="/img/delete.png" alt="delete"><a/>' +
'</div>';
return colval;
}
},
null,
null,
null,
null,
null,
null,
null,
null,
null
]
});
第一列(总共10个)包含编辑/删除图标。
对服务器的listall调用在第一个单元格中返回清单ID,该ID由oObj.aData [0]引用,用于构建URL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.