2011-06-30 14 views
0

私は、ページが読み込まれたときに価格でリストからアイテムをフィルタリングする関数を持っています。私はリンクにこれを添付したいので、ページが読み込まれたときにリストのソートを行う代わりに、ユーザーがリンクをクリックして価格でリストをフィルタリングするようにしたいと思います。JQueryリスト、json配列、フィルタクリックイベント

これを行う方法についてのヒントや指摘はすばらしいでしょう、ありがとう!

// Json array 
var productList = {"products": [ 
    {"brand": "brand1", "description": "Product 1", "price": "3.25"}, 
    {"brand": "brand2", "description": "Product 4", "price": "9.97"}, 
    {"brand": "brand3", "description": "Product 3", "price": "4.21"}, 
    {"brand": "brand4", "description": "Product 2", "price": "5.24"}, 
    {"brand": "brand5", "description": "Product 5", "price": "8.52"} 
] 
}; 


// SORT BY DESCRIPTION ASCENDING 

function loadList() { 
    var list = $("#productList").listview(); 
    var prods = productList.products.sort(function (a, b) { 
     return a.description > b.description; 
    }); 
    $.each(prods, function() { 
     list.append("<li>" + this.description + " :  " + this.price + "</li>"); 
    }); 
    $(list).listview("refresh"); 
} 

答えて

0

に見えるのjQueryを使用しているので...あなただけのクリックからloadList()をトリガしたいですか?ので、

<a href="#" id="sort-list">Sort List</a> 

$(function(){ 
    $("#sort-list").click(loadList); 
}); 
+0

はい、これは機能しますが、ロードされたときに既にソートされている方法でリストがソートされます。私はリストが既にロードされているときに名前でソートされているので、価格などでフィルタリングするリンクが必要です。 – JFFF

+0

nvmサンプルコードを使ってわかりました。質問する前にもっと深く見ていたはずです。ありがとう!! – JFFF