我正在使用datatables(datatables.net)并使用服务器端处理(django).
我有一个单独的文本字段,我在其中使用它来在已经呈现表之后自定义过滤DataTable中的数据.
以下工作正常:
我想自定义过滤列
var table = $('#problem_history').DataTable( {
"bJQueryUI": true,
"aaSorting": [[ 1, "desc" ]],
"aoColumns": [
// various columns here
],
"processing": true,
"serverSide": true,
"ajax": {
"url": "/getdata",
"data": {
"friend_name": 'Robert'
}
}
} );
Run Code Online (Sandbox Code Playgroud)
所以在页面加载(数据表的初始加载)时,它过滤掉'Robert'就好了.但现在我想以编程方式更改数据以过滤"friend_name"=="Sara"
我尝试了以下内容,filteredData具有正确的过滤对象,但表本身不会使用新过滤器重绘.
var filteredData = table.column( 4 ).data().filter(
function ( value, index ) {
return value == 'Sara' ? true : false;
}
);
table.draw();
Run Code Online (Sandbox Code Playgroud)
我也试过这个,但没有运气.
filteredData.draw();
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
谢谢您的帮助.
我希望有人可以对我所拥有的这个问题有所了解,这让我疯狂到了过去三天我一直在学习的地方,越来越多地了解mongoDB,但仍然无法弄清楚这个简单的查询.
我需要做的是获取包含"carId"="3C"的对象.
换句话说,我希望查询返回的对象是:
{
"carId" : "3C",
"_id" : ObjectId("51273329b64f07a40ef1c15e")
}
Run Code Online (Sandbox Code Playgroud)
这是数据集(汽车):
{
"_id" : ObjectId("56223329b64f07a40ef1c15c"),
"username" : "john",
"email" : "john@john.com",
"accounts" : [
{
"_id" : ObjectId("56322329b61f07a40ef1c15d"),
"cars" : [
{
"carId" : "6A",
"_id" : ObjectId("56323329b64f07a40ef1c15e")
},
{
"carId" : "6B",
"_id" : ObjectId("56323329b64f07a40ef1c15e")
}
]
}
]
},
{
"_id" : ObjectId("56223125b64f07a40ef1c15c"),
"username" : "paul",
"email" : "paul@paul.com",
"accounts" : [
{
"_id" : ObjectId("5154729b61f07a40ef1c15d"),
"cars" : [
{
"carId" : "5B",
"_id" : ObjectId("56323329854f07a40ef1c15e")
} …
Run Code Online (Sandbox Code Playgroud)