我正在使用DataTables并捕获im 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找到..
答案 0 :(得分:1)
您需要使用$('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();
});
答案 1 :(得分:1)
您是否只能在链接上附加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();
});
?
{{1}}
答案 2 :(得分:0)
我不确定您是在查找实际的表行,还是在查找行 有一些有意义的信息,如数据库密钥。
如果您确实在查看行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 cell,由oObj.aData [0]引用,用于构建URL。