Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 选择datatables行_Jquery_Datatables - Fatal编程技术网

Jquery 选择datatables行

Jquery 选择datatables行,jquery,datatables,Jquery,Datatables,我正在使用jquery创建数据表,使用: $('#collectionsList').dataTable( { "bJQueryUI": true, "bPaginate" : false, "bFilter": false, "oTableTools": { "sRowSelect": "multi" }, "sAjaxSource": serverServicesHandler.get("getCollections"),

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

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

    "sAjaxSource": serverServicesHandler.get("getCollections"),
        "fnInitComplete" : function(oSettings, json){
    }
})
我希望在单击某行时将其选中

我补充说:

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

但它不起作用。为什么?

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

 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. 
 }});

要使TableTools正常工作,必须设置.dataTables.sDom并在字符串中包含T。大概是这样的:

$('#example').dataTable({
        sDom: 'T<"clear">lfrtip',
        oTableTools: {
            "sRowSelect": "multi"
        }
});

要显示选定的行,我在行上使用此单击功能:

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

.live从jQuery v1.7起不再推荐,从jQuery v1.9起删除。您的标记是否包含和元素?dataTable是否正常工作?是的,我有&,它是由ajax创建的,请尝试TableTools的夜间版本。我相信稳定版本还没有升级到处理从jQuery中删除live的问题。