jQuery中基于过滤器的排序

Aasorting in jQuery based on filters

本文关键字:排序 过滤器 jQuery      更新时间:2023-09-26

我有一个数据表样式,我想禁用/启用基于aspx中的一些过滤器的初始排序。设置有一个排序属性,让我们假设我有一个全局变量"isDefaultSortingEnabled",并且基于这个变量我想执行排序。我试过使用if-else,但是我们不能在样式设置中写入它。

                var objDataTableSettings = {
                    "bPaginate": false,
                    "bFilter": false,
                    "aaSorting": []  ,       // manipulate this sorting based on a global variable    
              //  "aaSorting": [[1, 'asc']],
                    "bProcessing": true,
                    "aoColumnDefs": [

您可以在对象中使用一个三元表达式来根据您的全局变量设置aaSorting属性。试试这个:

var objDataTableSettings = {
    "bPaginate": false,
    "bFilter": false,
    "bProcessing": true,
    'aaSorting': isDefaultSortingEnabled ? [] : [[ 1, 'asc' ]];
    // other settings...
}

如果您喜欢使用完整的if/else语句,则需要首先创建对象,然后根据需要更改属性:

var objDataTableSettings = {
    "bPaginate": false,
    "bFilter": false,
    "bProcessing": true,
    // other settings...
}
if (isDefaultSortingEnabled) {
    objDataTableSettings.aaSorting = [];
} else {
    objDataTableSettings.aaSorting = [[ 1, 'asc' ]];
}

if (isDefaultSortingEnabled) {
    aaSortingdData = [];
} else {
    aaSortingData = [[ 1, 'asc' ]];
}
var objDataTableSettings = {
    "bPaginate": false,
    "bFilter": false,
    "bProcessing": true,
    "aaSorting": aaSortingData
}