过滤插件没有数据属性

时间:2015-03-17 17:14:38

标签: sorting jquery-plugins filter custom-data-attribute

如何使用MixItUp/Isototpe的插件过滤或排序没有数据属性的信息?

也许过滤器将是#url并且排序将是类。

1 个答案:

答案 0 :(得分:0)

假设你有一个JSON集,你可以过滤这样的值(我也假设你已经从DOM中获取了过滤器/排序值):

如果不准确的话,还没有运行这么道歉 - 我不习惯堆叠溢出格式但是任何问题我都会编辑。我认为逻辑应该没问题

var dataset = [
    {url: '/test'},
    {url: '/test2'}
];

var filterValue = '/test2'; // pass this to function or get from DOM
var sortBy = 'url'; // again, pass in somewhere or get from DOM
var sortType = 'asc';

function filter(data, filter) {

    var filteredResults = data.filter(function (el) {

        return (filter !== '' && el.url.toLowerCase().indexOf(filter.toLowerCase())) !== -1;

    })  

    return filteredResults;

}


function sort(data, sortBy, sortType) {

    var sortIndex = sortType === "asc" ? 1 : -1;


    data.sort(function (a, b) {

        if (a[sortBy] < b[sortBy]) {
            return -1 * sortIndex;
        } else if (a[sortBy] > b[sortBy]) {
            return 1 * sortIndex;
        }

        return 0;

    })
}   

var filteredResults = filter(dataset, filterValue);

sort(dataset, sortBy, sortType); //dataset will be sorted