2017-02-21 14 views
0

背景信息。使用jQuery数据表设置rowId的问题

我有一个jquery的数据表格,它工作正常......除了在我的页面/表格呈现之后...它缺少一个行ID。 我需要每一行看起来是这样的:

<tr id=10100... > ... </tr> 

代码

$(document).ready(function() { 
    var selected = []; 
    $('#users').DataTable({ 
     "processing": false, 
     "serverSide": true, 
     "ordering": false, 
     aLengthMenu: [ 
      [10, 25, 50, 100, "-1"], //controls the "Show X entries" drop down on gui 
      [10, 25, 50, 100, "All"] 
     ], 
     "ajax": "/cgi-bin/mvspaging_list", 
     rowId:'pn', 
     "rowCallback": function(row, data) { 
      if ($.inArray(data.DT_RowId, selected) !== -1) { 
       $(row).addClass('selected'); 
      } 
     }, 
    "columns": 
    [  
     //{ "data": "id" ,"searchable":false}, 
     { "data": "pn", "searchable":true }, 
     { "data": "fname",defaultContent:'', "searchable":true}, 
     { "data": "lname",defaultContent:'',"searchable":true}, 
     { "data": "grp_name",defaultContent:'',"searchable":true}, 
     { "data": "description",defaultContent:'',"searchable":true},    
     { "mRender": function (data, type, row) {   
      if (row.grp == 0) { 
       action = '<a href=pndetails.html?pn=' + row.pn +'>Details</a>'; 
       var fullname= encodeURI(row.fname + " " + row.lname); 
       action = action + '&nbsp;|&nbsp;' + '<a href="#" onclick=delpn(' + row.pn + ',"' + fullname + '",false)>Delete</a>'; 
       return action; 
      } else { 
       var groupname= encodeURI(row.grp_name); 
       action = '<a href=group_details.html?pn=' + row.pn +'>Details</a>'; 
       action = action + '&nbsp;|&nbsp;' + '<a href="#" onclick=delpn(' + row.pn + ',"' + groupname + '",true)>Delete</a>'; 
       return action;  
      } 
      } 
     } 
    ] 
    }); 
}); 

目前,该生成HTML行是这样的:

<tr role="row" class="odd"> 
     <td>10100</td> 
     <td>Devin</td> 
     <td>Daster</td> 
     <td></td> 
     <td></td> 
     <td><a href="pndetails.html?pn=10100">Details</a>&nbsp;|&nbsp;<a href="#" onclick="delpn(10100,&quot;Devin%20Daster&quot;,false)">Delete</a></td> 
</tr> 

我以为指定

rowId:'pn', 

会做的伎俩,但我猜不是。

关于我失踪的任何建议将不胜感激。我目前使用此作为参考:https://datatables.net/reference/option/rowId

回答

1

我添加/更改我的回调,像这样:

"rowCallback": function(row, data) { 
     console.log(data); 
     $(row).attr('id', data.pn); 
    },