在数据表中内联 if 语句
Inline if statement inside datatable
不知道之前有没有人问过这个问题。但我找不到它。这就是我现在问的原因。
我必须使用更多的数据表。所以我正在编写一个通用函数,通过传递参数来一次又一次地调用它。对于那个通用代码,我必须使用内联 if 语句来添加列宽,这里我附上了我的代码。有人帮我在里面插入内联条件。
function common_datatable(file_ajax, module_name, btns_list, widths, view_btn) {
return $('#'+module_name+'_table').DataTable({
"processing": true,
"serverSide": true,
"ajax": file_ajax,
"bLengthChange": false, "bAutoWidth": false , "sScrollX": "100%",
aoColumns : [
(widths[0] !=0) ? '{ "sWidth": "1%" }' : '',
{ "sWidth": "30%" },
{ "sWidth": "30%"},
{ "sWidth": "9%"}
], orderCellsTop: true,
"scrollX": true,
"order": [ [1, "asc"] ],
"columns": [{"orderable": false}, null, null, null, null, null ]
});
}
上面的代码我通过宽度参数传递了宽度数组,这是我使用的代码,
(width[0] !=0) ? '{ "sWidth": "1%" }' : '',
但它在里面不起作用。
函数中的变量名是widths而你在if语句中使用了width
Try using this: (widths[0] !=0) ? '{ "sWidth": "1%" }' : '',
instead of: (width[0] !=0) ? '{ "sWidth": "1%" }' : '',
您尝试用条件元素初始化数组是不可能的。试试关注
function common_datatable(file_ajax, module_name, btns_list, widths, view_btn) {
var aoColumns = [
{ "sWidth": "30%" },
{ "sWidth": "30%"},
{ "sWidth": "9%"}
];
if(widths[0] != 0) {
aoColumns.unshift({"sWidth": "1%"});
}
return $('#'+module_name+'_table').DataTable({
"processing": true,
"serverSide": true,
"ajax": file_ajax,
"bLengthChange": false, "bAutoWidth": false , "sScrollX": "100%",
"aoColumns": aoColumns,
"orderCellsTop": true,
"scrollX": true,
"order": [ [1, "asc"] ],
"columns": [{"orderable": false}, null, null, null, null, null ]
});
}
不知道之前有没有人问过这个问题。但我找不到它。这就是我现在问的原因。
我必须使用更多的数据表。所以我正在编写一个通用函数,通过传递参数来一次又一次地调用它。对于那个通用代码,我必须使用内联 if 语句来添加列宽,这里我附上了我的代码。有人帮我在里面插入内联条件。
function common_datatable(file_ajax, module_name, btns_list, widths, view_btn) {
return $('#'+module_name+'_table').DataTable({
"processing": true,
"serverSide": true,
"ajax": file_ajax,
"bLengthChange": false, "bAutoWidth": false , "sScrollX": "100%",
aoColumns : [
(widths[0] !=0) ? '{ "sWidth": "1%" }' : '',
{ "sWidth": "30%" },
{ "sWidth": "30%"},
{ "sWidth": "9%"}
], orderCellsTop: true,
"scrollX": true,
"order": [ [1, "asc"] ],
"columns": [{"orderable": false}, null, null, null, null, null ]
});
}
上面的代码我通过宽度参数传递了宽度数组,这是我使用的代码,
(width[0] !=0) ? '{ "sWidth": "1%" }' : '',
但它在里面不起作用。
函数中的变量名是widths而你在if语句中使用了width
Try using this: (widths[0] !=0) ? '{ "sWidth": "1%" }' : '',
instead of: (width[0] !=0) ? '{ "sWidth": "1%" }' : '',
您尝试用条件元素初始化数组是不可能的。试试关注
function common_datatable(file_ajax, module_name, btns_list, widths, view_btn) {
var aoColumns = [
{ "sWidth": "30%" },
{ "sWidth": "30%"},
{ "sWidth": "9%"}
];
if(widths[0] != 0) {
aoColumns.unshift({"sWidth": "1%"});
}
return $('#'+module_name+'_table').DataTable({
"processing": true,
"serverSide": true,
"ajax": file_ajax,
"bLengthChange": false, "bAutoWidth": false , "sScrollX": "100%",
"aoColumns": aoColumns,
"orderCellsTop": true,
"scrollX": true,
"order": [ [1, "asc"] ],
"columns": [{"orderable": false}, null, null, null, null, null ]
});
}