我有一个数据表样式,其中我想基于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' ]];
}
前者由于其简洁性而被首选。