2013-09-13 2 views
1

У меня есть следующие данные:JQuery Range возвращенные детали ползун Grep с минимальной и максимальной

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

я не тихо уверен, что я делаю неправильно, но всегда кажется, вернуться [] ...

Любая помощь с благодарностью .. Спасибо ...

ответ

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/

+0

Спасибо за ваш ответ очень полезно, как бы я вернуться item.price, если его item.price> MAXVAL && item.price> MINVAL? –

+1

Нравится: return (item.price> = minVal && item.price <= maxVal); ? –

+0

блестящий спасибо! –

Смежные вопросы