Jquery 使用JsonQuery在filter.js内返回有序json数据
我正在使用filter.js from-great脚本Jquery 使用JsonQuery在filter.js内返回有序json数据,jquery,json,jquery-filter,Jquery,Json,Jquery Filter,我正在使用filter.js from-great脚本 var FJS = FilterJS(products, '#products', { template: '#productfinder-template', search: {ele: '#searchbox'}, callbacks: { beforeAddRecords: function(records){ var jq = JsonQuery(records);
var FJS = FilterJS(products, '#products', {
template: '#productfinder-template',
search: {ele: '#searchbox'},
callbacks: {
beforeAddRecords: function(records){
var jq = JsonQuery(records);
console.log(jq.order({'artnr': 'asc'}).exec());
},
afterFilter: function(result){
$('#total_products').text(result.length+' records found');
}
}
});
在回调“beforeAddRecord”中,我调用了JsonQuery“order”函数,结果是一个有序的Json列表,这正是我想要的。问题是如何在屏幕上显示此结果
有人有过这个脚本的经验吗 做了一些测试,发现如下问题。出于测试目的,我将代码放在一个按钮上
jQuery("#xselected").on('click', function(){
var jq = JsonQuery(products);
products = jq.order({'artnr': 'asc','category':'asc'}).exec();
FJS.removeRecords({});
FJS.addRecords(products);
FJS.filter;
});
从过滤器中删除所有记录,并在使用JsonQuery中的order函数后重新添加。我还不能发表评论,因此我将此作为第二个答案发布。我在发布的代码中遇到了一些奇怪的行为,当我在过滤器之间切换时,“产品”中的数据翻了一番。对于少量的项目来说,这并不是什么大问题,但当我添加了更多的项目,并进行了多次排序时,它开始减慢所有事情的速度 问题不在于FJS,而在于“点击”功能。它显然保存了会话中每个更改事件的所有数据。要解决此问题,只需在
.on()
之前添加.unbind()
嘿,雷科德,你能把你所有的代码都粘贴上去吗?你也制作了filter.js来对数据进行排序吗?我的意思是目前它不支持排序,所以你试过了吗?它起作用了吗?
jQuery("#xselected").unbind().on('click', function(){
var jq = JsonQuery(products);
products = jq.order({'artnr': 'asc','category':'asc'}).exec();
FJS.removeRecords({});
FJS.addRecords(products);
FJS.filter;
});