【问题标题】:jQuery Range slider grep return items with min and maxjQuery Range 滑块 grep 返回具有最小值和最大值的项目
【发布时间】:2013-09-13 10:02:54
【问题描述】:

我有以下数据:

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

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

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

【问题讨论】:

    标签: javascript jquery json jquery-ui


    【解决方案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/

    【讨论】:

    • 感谢您的回答非常有帮助,如果 item.price > maxVal && item.price > minVal,我将如何返回 item.price?
    • 像这样:return (item.price >= minVal && item.price
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-07
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多