0

我正在使用 jquery 创建数据表:

$('#collectionsList').dataTable( {
    "bJQueryUI": true,
    "bPaginate" : false,
    "bFilter": false,
    "oTableTools": {
        "sRowSelect": "multi"
    },

    "sAjaxSource": serverServicesHandler.get("getCollections"),
        "fnInitComplete" : function(oSettings, json){
    }
})

我希望在单击时选择一行。

我补充说:

"oTableTools": {
    "sRowSelect": "multi"
}

但它不起作用。为什么?

4

3 回答 3

0

要使 TableTools 工作,您必须.dataTables.sDom在字符串中设置并包含“T”。像这样的东西:

$('#example').dataTable({
        sDom: 'T<"clear">lfrtip',
        oTableTools: {
            "sRowSelect": "multi"
        }
});
于 2013-02-07T17:30:27.730 回答
0

您可以按以下方式执行此操作:

 oTable = $('#collectionsList').dataTable( ....);

 $('#collectionsList tbody tr').live('click', function (event) {        
 var aData = oTable.fnGetData(this); // get datarow
 if (null != aData)  // null if we clicked on title row
 {
        //now aData[0] - 1st column(count_id), aData[1] -2nd, etc. 
 }});
于 2013-02-07T15:24:53.813 回答
0

为了显示选定的行,我在行处使用了这个点击功能:

$('body').on("click",'#collectionsList tbody tr',function() {
  if ($(this).hasClass('row_selected')) 
    $(this).removeClass('row_selected'); // select or deselect row
  else {
    /* I don't put this line below
    //---> $(this).siblings('.row_selected').removeClass('row_selected');
    */
    $(this).addClass('row_selected'); // add selected row
  }
  var aData = oTable.fnGetData(this); // get tha data array from columns
  var col0 = aData[0];  // get the first column value
  var col1 = aData[1];  // get the second column value
  var rowsID=this.id; // rowsID is your id of <tr>
});
于 2014-01-08T11:34:09.973 回答