Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过Jquery按名称排序?_Javascript_Jquery_Sorting - Fatal编程技术网

Javascript 如何通过Jquery按名称排序?

Javascript 如何通过Jquery按名称排序?,javascript,jquery,sorting,Javascript,Jquery,Sorting,我只是使用Jquery从json数据在html文档中创建我的产品列表。我只是想通过点击我的标题名称来对我的产品进行排序,标题名称将按字母顺序对我的产品进行排序 我已经研究过如何做到这一点,但无法找到/理解如何通过使用json中的数据来做到这一点 感谢您的帮助。谢谢 function drawPage() { $.get('/products', function (data) { console.log(data); var prod = data.pro

我只是使用
Jquery
json
数据在html文档中创建我的产品列表。我只是想通过点击我的标题名称来对我的产品进行排序,标题名称将按字母顺序对我的产品进行排序

我已经研究过如何做到这一点,但无法找到/理解如何通过使用
json
中的数据来做到这一点

感谢您的帮助。谢谢

function drawPage() {
    $.get('/products', function (data) {
        console.log(data);
        var prod = data.products;

        for(var i=0; i<prod.length; i++){
        var el = document.createElement('P');
        el.innerHTML = prod[i].name;

            $('#app').append(el);
        }
    })
}
document.addEventListener('load', drawPage());
函数drawPage(){
$.get('/products',函数(数据){
控制台日志(数据);
var prod=数据产品;

对于(var i=0;i您需要重写比较函数,以便按产品名称对对象数组进行排序

原型:

function drawPage() {
    $.get('/products', function (data) {
        console.log(data);
        var prods = data.products;

        //sorting by product names
        prods.sort(function(a, b){
          var x = a.name.toLowerCase();
          var y = b.name.toLowerCase();
          if (x < y) {return -1;}
          if (x > y) {return 1;}
          return 0;
        });

        for(var i=0; i<prods.length; i++){
           var el = document.createElement('P');
           el.innerHTML = prods[i].name;
           $('#app').append(el);
        }
    })
}
document.addEventListener('load', drawPage());
函数drawPage(){
$.get('/products',函数(数据){
控制台日志(数据);
var prods=数据产品;
//按产品名称排序
产品分类(功能(a、b){
var x=a.name.toLowerCase();
var y=b.name.toLowerCase();
如果(xy){返回1;}
返回0;
});
对于(var i=0;i
var prod=[
{名称:“卡车”,价格:“20000”},
{名称:“汽车”,价格:“50000”},
{名称:“公共汽车”,价格:“30000”}]
函数SortByName(x,y){
返回((x.name==y.name)?0:((x.name>y.name)?1:-1));
}
$(函数(){
prod.sort(SortByName);
console.log(prod)
});

为什么使用java/python?如果我在html中使用一个按钮,可以在已排序和未排序之间切换。所有产品我只需创建一个新的函数排序(){并包含排序代码?或者我必须在我的一个函数中以某种方式包含所有代码并将其链接回html吗?@James:然后你需要保存按钮的状态(一个布尔值就足够了),并根据布尔值进行排序或不排序。每次用户单击按钮时,你都会更改其值