我有一个数据表样式,其中我想基于aspx中的某些过滤器来禁用/启用初始排序。
该设置具有aasorting属性,假设我有一个全局变量“ 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' ]];
}


前者由于其简洁性而被首选。

09-16 15:00