0

我正在使用 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看到实际页面 请用 .'s 替换 (@)'s 因为该页面包含实际的电子邮件地址,我不想有一个 spma bot 找到..

4

3 回答 3

1

您关心使用 $('a') 选择所有锚点来获取 rowID。这是行不通的。而是在点击处理程序中使用 parent().attr() 函数。IE:

$('#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();

     });
于 2010-12-29T14:43:22.393 回答
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();

 });

示例链接

于 2010-12-29T15:09:30.517 回答
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,它由 oObj.aData[0] 引用,用于构建 URL。

于 2011-01-17T18:44:56.577 回答