1

我有以下数据:

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 rangeslider,我正在尝试使用jQuery.grep按价格返回范围滑块的最小值和最大值的项目。

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

//////////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

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

非常感谢任何帮助..谢谢...

4

1 回答 1

0

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

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

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

于 2013-09-14T13:59:42.540 回答