JQuery列表、json数组、过滤器单击事件

JQuery列表、json数组、过滤器单击事件,jquery,arrays,json,filter,sorting,Jquery,Arrays,Json,Filter,Sorting,我有一个函数,可以在页面加载时按价格过滤列表中的项目。我想把它附加到一个链接上,这样当页面加载时就不用对列表进行排序了,我想让用户单击一个链接或按钮来按价格过滤列表 任何关于如何做到这一点的线索或指针都将非常好,谢谢 // Json array var productList = {"products": [ {"brand": "brand1", "description": "Product 1", "price": "3.25"}, {"brand": "brand2",

我有一个函数,可以在页面加载时按价格过滤列表中的项目。我想把它附加到一个链接上,这样当页面加载时就不用对列表进行排序了,我想让用户单击一个链接或按钮来按价格过滤列表

任何关于如何做到这一点的线索或指针都将非常好,谢谢

// 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");
}
//Json数组
var productList={“产品”:[
{“品牌”:“品牌1”,“说明”:“产品1”,“价格”:“3.25”},
{“品牌”:“品牌2”,“说明”:“产品4”,“价格”:“9.97”},
{“品牌”:“品牌3”,“说明”:“产品3”,“价格”:“4.21”},
{“品牌”:“品牌4”,“说明”:“产品2”,“价格”:“5.24”},
{“品牌”:“品牌5”,“说明”:“产品5”,“价格”:“8.52”}
]
};
//按描述升序排序
函数loadList(){
var list=$(“#产品列表”).listview();
var prods=productList.products.sort(函数(a,b){
返回a.description>b.description;
});
$。每个(产品、功能(){
列表。追加(“
  • ”+this.description+”:“+this.price+”
  • ”; }); $(列表)。列表视图(“刷新”); }
    既然您已经在使用jQuery,请查看以便。。。您只想通过单击触发
    loadList()

    <a href="#" id="sort-list">Sort List</a>
    
    $(function(){
      $("#sort-list").click(loadList);
    });
    
    
    $(函数(){
    $(“#排序列表”)。单击(加载列表);
    });
    
    是的,这会起作用,但它会按照加载列表时已排序的方式对列表进行排序。我需要一个链接来过滤价格或其他东西,因为我的列表在加载时已经按名称排序。nvm我用你的示例代码计算出来了。。我应该在问之前再仔细看看。谢谢