我有一个数据表样式,我想在其中禁用/启用基于 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' ]];
}
由于简洁,首选前者。
关于javascript - jQuery 中基于过滤器的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30575511/