jQuery Range滑块grep返回min和max的项目

时间:2013-09-13 10:02:54

标签: javascript jquery json jquery-ui

我有以下数据:

unit 251
path "M256.57 475.46L251.00 4...49 471.59L259.64 472.92"
name "unit 251"
status "Sold"
color "#f50000"
size "3200"
price "3000000"

这个小块来自一个大的JSON数组,我使用的是jQuery ui rangelider,我正在尝试使用jQuery.grep来返回属于范围滑块的最小值和最大值的价格。< / p>

到目前为止,这是我的代码:

//////////Filter Range Slider

    function filterUnitPrice(minVal,maxVal){
        var obj = json['properties'];
        return jQuery.grep(Object.keys(obj), function(item){
            return obj[item].price < maxVal;
        });
    }

    jQuery('div#price-range')[0].slide = null;
    jQuery( "#price-range" ).slider({
        range: true,
        min: 0,
        max: 350000,
        values: [ 0, 300000 ],
        slide: function( event, ui ) {
            var minVal = ui.values[0];
            var maxVal = ui.values[1];
            var result = filterUnitPrice(minVal,maxVal);
            console.log(result);
        }
    });
//////////Filter Range Slider

我不确定我做错了什么,但似乎总是回归[] ......

任何帮助都非常赞赏..谢谢......

1 个答案:

答案 0 :(得分:1)

如果您希望grep函数返回元素而不是其键,请尝试将函数更改为:

function filterUnitPrice(minVal, maxVal) {
    var obj = json['properties'];
    return jQuery.grep(obj, function (item) {
        return item.price < maxVal;
    });
}

演示:http://jsfiddle.net/IrvinDominin/dF2W8/