我是jquery / bootstrap Datatables的新手,我正在尝试在应用程序中使用它。
我有一个模态弹出窗口,其中有一个选择下拉列表。当我想要选择下拉值更改时 调用服务器并以模态显示dataTable网格。 最初,当模态弹出窗口加载时,我不想显示网格,甚至不显示网格。 我想仅在下拉列值更改时显示网格。 每次下拉值更改时,网格都必须重新加载。
我一直在尝试参数组合,但它不起作用。 我尝试使用' iDeferLoading' bDeferRender',table.ajax.reload()等,但它没有按预期工作。 使用下面的代码网格总是在第一次加载模态弹出窗口时加载。
$(document).ready(function (){
var table = null;
$("#userType").change(function() {
var userType = $(this).val();
if (userType == "test") {
table = $('#example').DataTable({
'ajax': {
'url': '/test/getAllPlatforms?itemId=' + $('#itemId').val(),
"dataSrc": ''
},
"columns": [
{ "data": "selected" },
{ "data": "id" },
{ "data": "platformName" },
{ "data": "itemPrice" },
{ "data": "revenueShare" }
],
columnDefs: [ {
orderable: false,
className: 'dt-body-center',
targets: 0,
'render': function (data, type, full, meta){
console.log(data + " : " + full);
var checked = "";
if (data == true) {
checked = "checked";
}
return '<input type="checkbox" name="id[]" value="' + $('<div/>').text(data).html() + '" ' + checked + '>';
}
}
],
select: {
style: 'os',
selector: 'td:first-child'
},
order: [[ 1, 'asc' ]],
'iDeferLoading': 1,
'bDeferRender': true
});
}
});
});