在复选框列上排序数据表 [英] Sort datatable on checkbox column
本文介绍了在复选框列上排序数据表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下数据表,其中status包含我希望能够在该列上排序的复选框
I have the following data table, where status contains checkboxes that I want to be able to sort on that column
$('#aMG_permissionTable')
.dataTable({
"bJQueryUI": true,
"bPaginate": false,
"sScrollY": "440",
"bAutoWidth": true,
"bFilter": true,
"bInfo": true,
"bSort": true,
"aoColumns": [
{ "mData": "PermissionName" },
{ "mData": "PermissionWithDescription" },
{ "mData": "PermissionGroupWithDescription" },
{ "mData": "Status" }
//{ "mData": "Status", "sSortDataType": "dom-checkbox" }
],
"aoColumnDefs": [
{ "bVisible": false, "aTargets": [0] },
// { "bSortable": false, "aTargets": [ 3] },
{ "sSortDataType": "dom-checkbox", "aTargets": [ 3 ] }
],
"sPaginationType": "full_numbers",
"aaSorting": [[ 0, "asc"]]
});
我的尝试:
我尝试过以下操作,但错误是空的,调试时甚至不进入每个循环。
What I have tried:
I have tried the following, but the error is empty, when debugging it does not even enter the each loop.
/* Create an array with the values of all the checkboxes in a column */
$.fn.dataTableExt.afnSortData['dom-checkbox'] = function ( oSettings, iColumn )
{
var aData = [];
$( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () {
console.log(this);
aData.push( this.checked==true ? "1" : "0" );
} );
//console.log(aData);
return aData;
};
推荐答案
('#aMG_permissionTable')
.dataTable({
bJQueryUI:true,
bPaginate:false,
sScrollY:440,
bAutoWidth:true,
bFilter:true,
bInfo:true,
bSort:true,
aoColumns:[
{mData:PermissionName},
{mData :PermissionWithDescription},
{mData:PermissionGroupWithDescription},
{mData:Status}
// {mData:Status, sSortDataType:dom-checkbox}
],
aoColumnDefs:[
{bVisible:false,aTargets:[0]},
// {bSortable:false,aTargets:[3]},
{sSortDataType:dom-checkbox,aTargets:[3]}
],
sPaginationType:full_numbers,
aaSorting:[[0,asc]]
});
('#aMG_permissionTable') .dataTable({ "bJQueryUI": true, "bPaginate": false, "sScrollY": "440", "bAutoWidth": true, "bFilter": true, "bInfo": true, "bSort": true, "aoColumns": [ { "mData": "PermissionName" }, { "mData": "PermissionWithDescription" }, { "mData": "PermissionGroupWithDescription" }, { "mData": "Status" } //{ "mData": "Status", "sSortDataType": "dom-checkbox" } ], "aoColumnDefs": [ { "bVisible": false, "aTargets": [0] }, // { "bSortable": false, "aTargets": [ 3] }, { "sSortDataType": "dom-checkbox", "aTargets": [ 3 ] } ], "sPaginationType": "full_numbers", "aaSorting": [[ 0, "asc"]] });
我的尝试:
我尝试过以下操作,但错误是空的,调试时甚至不进入每个循环。
What I have tried:
I have tried the following, but the error is empty, when debugging it does not even enter the each loop.
/* Create an array with the values of all the checkboxes in a column */
.fn.dataTableExt.afnSortData ['dom-checkbox'] = function(oSettings,iColumn)
{
var aData = [];
.fn.dataTableExt.afnSortData['dom-checkbox'] = function ( oSettings, iColumn ) { var aData = [];
('td:eq('+ iColumn +')input',oSettings.oApi._fnGetTrNodes(oSettings))。每个( function(){
console.log(this);
aData.push(this.checked == true?1:0);
});
//console.log(aData);
返回aData;
};
( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () { console.log(this); aData.push( this.checked==true ? "1" : "0" ); } ); //console.log(aData); return aData; };
这篇关于在复选框列上排序数据表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文