gpt4 book ai didi

javascript - jquery 数据表过滤行

转载 作者:行者123 更新时间:2023-11-30 16:01:24 25 4
gpt4 key购买 nike

您好,我有一个 DataTables DataTable 对象,它通过 ajax 调用请求 json 数据。 json 数据中的每个对象都有一个名为 state 的属性,它可以是多个值之一。最终,我想创建几个(数据)表,每个状态一个,而不是让每个表一次又一次地通过 ajax 请求相同的数据。目前,我还没有设法让单个表过滤掉状态不正确的行,我想先解决这个问题。

DataTable对象定义如下:

$(document).ready(function () {
var table = $('#example').DataTable({
data: example,
ajax: {
url: "{{ callback_url }}",
dataType: 'json',
dataSrc: '',
},
createdRow: function (row, data, index) {
},
columns: [{
data: "Type"
}, {
data: "State",
}
}]
});
});

我想根据参数过滤来自 ajax 调用的数据(例如“if (row.State == 'new') {...};”)。我怎样才能做到这一点?数据表是否具有可以传递来过滤每一行的函数?

我真的需要几个表来显示来自相同 ajax 回调但处于不同状态的数据(例如"new"表、“旧”表等)。如何在不为呈现的每个表一次又一次地请求相同的 json 数据的情况下执行此操作?理想情况下,我可以将 ajax 存储在一个变量中,但对于异步过程,我不确定这将如何实现。

最佳答案

您可以使用一个 ajax 来存储数据,然后创建每个数据表。

示例:

$(document).ready(function () {
var data = null;
$.ajax(URL, {
dataType: 'json',
success: function(ajaxData){
data = ajaxData;

newData = data.filter(function(item){ return item.State == "New"});
oldData = data.filter(function(item){ return item.State == "Old"});

var newTable = $('#newTable').DataTable({
data: newData,
});

var oldTable = $('#oldTable').DataTable({
data: newData,
});

}
});
}

关于javascript - jquery 数据表过滤行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37679946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com