我如何在选择更改时设置表内容我正在通过jquery ajax发布谈论datatables.js库。如何返回新的JsonResult并使用处理程序的结果重绘表的内容?谢谢
答案 0 :(得分:1)
这是我使用的过程: 摘要:
在顶级范围内声明js变量
在document.ready函数中,将数据表实例化为全局js变量
在ajax发布中,通过存储的对象清除表,然后迭代结果并添加行
深入了解
//declare this high in scope so you can access it in your functions
var dt;
$(document).ready(function () {
//Create the datatable and assign it to variable for later reference
dt = $('#MyTable').DataTable({dom: 'Bfrtip'});
});
$("#SomeBtn").click(function () {
//clear current table rows
dt.clear().draw();
$.ajax({
url: whatever Path,
data: whatever Data,
dataType: "json",
type: "POST",
cache: false,
contentType: "application/json; charset=utf-8",
success: function (data) {
$.each(data, function (i, n) {
//Iterate results and add each to the table. This is why we stored the datatable in a highr scope so we can operate it on it here :)
dt.row.add([n.prop1, n.prop2, n.prop3]).node().id = n.propID + '_Row';
dt.draw(false);
});
},
error: function (response) {
},
failure: function (response) {
}
});
});
如您所见,通过将数据表静态化时将其存储在对象中,您可以根据其api在以后的函数中对其进行控制