Javascript jQuery datatable设置成功回调中的列设计和值
我已经为我的datatables编写了以下代码,它用数据库中的内容填充表,如下所示:Javascript jQuery datatable设置成功回调中的列设计和值,javascript,jquery,html,ajax,datatables,Javascript,Jquery,Html,Ajax,Datatables,我已经为我的datatables编写了以下代码,它用数据库中的内容填充表,如下所示: if (datatable != null) datatable.destroy(); datatable = $('#tableProducts').DataTable({ "pageLength": 50, "bLengthChange": false, "processing": true,
if (datatable != null)
datatable.destroy();
datatable = $('#tableProducts').DataTable({
"pageLength": 50,
"bLengthChange": false,
"processing": true,
"serverSide": true,
"filter": true,
"orderMulti": false,
"bSort": false,
"ajax": {
"url": "/Bulk/LoadData/",
"type": "POST",
"data": {
"username": $(".sellerInput").val(),
"drange": $(".select2").val()
},
success: function (data) {
}
},
"columns": [
{
"targets": -1,
"data": "ImageURL",
"name": "Title",
"render": function (data, type, row) {
return '<td><img src=' + data + '></td>';
},
"autoWidth": true
},
{
"data": "Sales",
"name": "QuantitySold",
"render": function (data, type, row) {
return '<td>' + data + '</td>'
},
},
{
"data": "CurrentPrice",
"name": "CurrenctPrice",
"render": function (data, type, row) {
return '<td> <b>$ ' + data + '</b></td>'
},
}
]
});
这里的问题是,如果我指定成功回调,然后更新HTML页面的其他部分,那么datatable不会在DB中加载数据
我的问题是,如果我重写datatable的成功回调函数以更新HTML页面的更多部分而不仅仅是datatable本身,那么如何手动指定datatable的数据源
有人能帮我吗?来自:
success-不能被重写,因为它在中内部使用
数据表。操作/转换服务器返回的数据
使用ajax.dataSrc
所以简单地使用
ajax: {
url: "/Bulk/LoadData/",
type: "POST",
data: {
"username": $(".sellerInput").val(),
"drange": $(".select2").val()
},
dataSrc: function (data) {
// some custom code here and + filling up datatable with data from my DB...
return data
}
},
相反。您可以使用
dataSrc
而不是success
来获取响应数据
试试这个:
"ajax": {
"url": "/Bulk/LoadData/",
"type": "POST",
"data": function (d){
d.username: $(".sellerInput").val(),
d.drange: $(".select2").val()
},
"dataSrc": function (data) {
// some custom code here and + filling up datatable with data from my DB...
console.log(data);
return data;
}
},
注意:您还试图以用户名
和drange
的形式发送额外的参数,因此在DataTable中,我们应该使用“data”:函数(d){
作为发送额外参数的函数
为什么要返回数据?我想用这些数据更新HTML。我不能这样做吗(例如):$(“#Title”).text(data.Title);或类似的内容?检查以操作数据并返回是处理datatable中的数据所必需的哦,好的,我现在明白了。但返回的一些数据用于操作我页面的其他部分,而不仅仅是datatable:D@User987确切地说:)还要检查如何使用数据作为函数发送额外的数据参数。太多了,辛格,我的朋友今天挣点有用的东西!=D好的。我用这种方法测试了一下,但它说它期望?
"ajax": {
"url": "/Bulk/LoadData/",
"type": "POST",
"data": function (d){
d.username: $(".sellerInput").val(),
d.drange: $(".select2").val()
},
"dataSrc": function (data) {
// some custom code here and + filling up datatable with data from my DB...
console.log(data);
return data;
}
},