按名称,价格过滤JQuery列表... json数组,JQuery.grep()

时间:2011-06-29 19:55:42

标签: javascript jquery html json

我刚收到上一个问题的惊人反馈,但现在又被卡住了。

我有一个显示我的json数组的JQuery listview。它工作正常。 但现在,我希望能够按名称或价格过滤我的结果。我查找了jQuery.grep()方法,但无法让它正常工作。

如果有人能就如何让它发挥作用给出一些指示,那将再次受到高度赞赏。

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

js file:

    // Json array
    var productList = {"products": [
        {"description": "Product 1", "price": "9.99$"},
        {"description": "Product 2", "price": "9.97$"},
        {"description": "Product 3", "price": "8.52$"},
        {"description": "Product 4", "price": "5.24$"},
        {"description": "Product 5", "price": "4.21$"}
    ]
    };

function loadList() {

//  var list = document.getElementById('productList');
    var list = $("#productList").listview();
    list.sort();

   $(productList.products).each(function(index){
    $(list).append('<li id="listitem">' + this.description + "  " +
            "    :     " +  this.price + '</li>');

   });

   $(list).listview("refresh");

}<code>

HTML file :

<html> <head> <title>Product List</title> &meta; <script src="@=site.cfg.resources.url@/test.js"></script> </head> <body onLoad="loadList()"> <div data-role="page"> <div data-role="header" id="header"> <h1>Product List</h1> </div> <div data-role="content" id="content"> <ul id="productList" data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b"> </ul> </div> </div> </body> </html>

2 个答案:

答案 0 :(得分:0)

我认为,

.filter()应该做你正在寻找的事情。

答案 1 :(得分:0)

$.grep()

值得一试。