【问题标题】:How can i use find + filter to return price range?如何使用 find + filter 返回价格范围?
【发布时间】:2013-02-04 08:54:13
【问题描述】:

我有一个项目列表,我只需要返回价格在“最低”和“最高”价格范围之间的项目。

这是按类别对项目进行排序的完整示例,但正如您所见,滑块不会影响价格范围,这是完整代码:

http://jsfiddle.net/p2jwz/8/

所以,如您所见,这里是 .find 和 .filter 代码:

  var price = data.find('li').filter(function() {
    var price = parseFloat($(this).data('price'));
   return price >= minPrice && price <= maxPrice;
}); 

你能告诉我我做错了什么吗?

【问题讨论】:

    标签: jquery jquery-ui jquery-slider jquery-filter


    【解决方案1】:

    你可能需要

    var price = data.find('li').filter(function() {
        var price = parseFloat($(this).data('price'));
       return price >= minPrice && price <= maxPrice;
    }); 
    

    filter() 函数应该返回一个布尔值,指示当前评估的元素是否应该包含在返回的集合中。如果您返回价格,则将返回每个不具有价格 === 0 的元素,因为正整数是“真实的”,即当被视为布尔值时评估为 true。

    你也有类似的东西

    $(document).ready(function(){
    ...
        $(function(){
            ...
        });
    });
    

    即包装了两个 document.ready 函数绑定。我认为您可以简单地删除内部的。您的滑块似乎仍以某种方式初始化,但这可能仍会导致某些故障。

    你的小提琴也发生了错误:

    TypeError: sel.getElement(...) 为空

    【讨论】:

    • 对不起,我没有更新代码,这就是我拥有的,它不起作用..看看 JSFiddle 链接..非常感谢!!
    • 我在看你的小提琴,你的代码看起来不像我上面的代码。什么意思?
    • 刚刚更新了,我的服务器代码看起来和你的一样..它不起作用,你现在可以看看...再次感谢!
    • 对不起,但对我来说,你的小提琴看起来一样,你的 filter() 函数只是返回价格。您确定已保存更改吗?
    • 每次更新都会更改链接 :) 这是最终结果.. 再次抱歉 :): jsfiddle.net/p2jwz/8
    【解决方案2】:

    终于!我找到了解决方案,您只需使用所有变量调用函数

    function showProducts($holder, data, minPrice, maxPrice) {
    
       var $price = data.find('li').filter(function() {
            var $price = parseInt($(this).data("price"), 10);
            return $price >= minPrice && $price <= maxPrice;
        });
    
                // call quicksand and assign transition parameters
            $holder.quicksand($price, {
                duration: 800,
                easing: 'easeInOutQuad'
            });
            return false;
    }
    

    希望有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      相关资源
      最近更新 更多