Javascript 基于单选按钮和复选框的数据表排序
我使用的是jQueryDataTables,需要对两列进行排序,这两列有单选按钮和复选框。Datatables根据值进行排序,因此我无法根据复选框和单选按钮的选中值和未选中值进行排序 哈佛商学院Javascript 基于单选按钮和复选框的数据表排序,javascript,jquery,datatables,Javascript,Jquery,Datatables,我使用的是jQueryDataTables,需要对两列进行排序,这两列有单选按钮和复选框。Datatables根据值进行排序,因此我无法根据复选框和单选按钮的选中值和未选中值进行排序 哈佛商学院 我试图得到排序的基础上,复选框和单选按钮以及。请告诉我如何操作。您需要使用自定义排序功能,请参阅和 $.fn.dataTable.ext.order['dom-checkbox']=函数(设置,列) { 返回这个.api()列(col,{order:'index'}).nodes().map(函数(td
我试图得到排序的基础上,复选框和单选按钮以及。请告诉我如何操作。您需要使用自定义排序功能,请参阅和
$.fn.dataTable.ext.order['dom-checkbox']=函数(设置,列)
{
返回这个.api()列(col,{order:'index'}).nodes().map(函数(td,i){
返回$('input',td).prop('checked')?'1':'0';
} );
};
$.fn.dataTable.ext.order['dom-text']=函数(设置,列)
{
返回这个.api()列(col,{order:'index'}).nodes().map(函数(td,i){
返回$('input',td).val();
} );
};
var teamMembers=$(“#团队成员数据”).DataTable({
“columnDefs”:[
{
"目标":二,,
“orderDataType”:“dom文本”
}, {
"目标":三,,
“orderDataType”:“dom复选框”
}
],
“订单”:[[3,'asc'],[2,'asc'],[1,'asc'],[0,'asc']]
});
谢谢@Gyrocode。你的回答很有帮助。下面是dom无线电的一个实现
$.fn.dataTable.ext.order['dom-radio'] = function ( settings, col ) {
return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
return $('input[type=radio]:checked', td).val();
} );
};
var teamMembers = $('#team-members-data').DataTable({
"processing": true,
"order": [[ 3, 'asc' ], [ 2, 'asc' ],[ 1, 'asc' ], [ 0, 'asc' ]]
});
$.fn.dataTable.ext.order['dom-radio'] = function ( settings, col ) {
return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
return $('input[type=radio]:checked', td).val();
} );
};
$.fn.dataTable.ext.order['dom-radio'] = function ( settings, col ) {
return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
return $('input', td)[1].checked ? '1' : '0';
} );
};