Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
如何在Jquerymobile中动态排序listview_Listview_Sorting_Jquery Mobile - Fatal编程技术网

如何在Jquerymobile中动态排序listview

如何在Jquerymobile中动态排序listview,listview,sorting,jquery-mobile,Listview,Sorting,Jquery Mobile,我想问: 我有一个预定义顺序的数组 var order=new Array(); order[0]="Tesco"; order[1]="Interspar"; order[2]="Penny Market"; $.each(mapdata, function(index, value) { //IF IS CHAIN IN ARRAY obchody, exit LOOP , ELSE ADD CHAIN TO LIST if (jQuery.inArr

我想问: 我有一个预定义顺序的数组

var order=new Array(); 
order[0]="Tesco";       
order[1]="Interspar";
order[2]="Penny Market";
$.each(mapdata, function(index, value) {

    //IF IS CHAIN IN ARRAY obchody, exit LOOP , ELSE ADD CHAIN TO LIST  
    if (jQuery.inArray(value.retezecnazev, obchody) === -1) {

        obchody.push(value.retezecnazev);

        countOfProducts++;

        //CHANGE DATE FORMAT 
        var choppedDate = value.platido.split('-');

        var newDate = choppedDate[2] + "." + choppedDate[1] + "." + choppedDate[0];

        $("ul").append("<li data-icon=\"false\"><a data-ajax=\"false\"  href=\"show_flyer.html?id=" +
                value.id +
                "&countOfPages=" +
                value.strany +
                "&nameOfChain=" +
                value.retezecnazev +
                "  \"><img  style=\"margin-top:10px;\" src=\" " + value.img + " \"/><h3 style=\"font-size:1.5em;\">" +
                value.retezecnazev +
                "</h3><div class=\"pageCount\" style=\"font-size:0.7em;\">" +
                value.strany +
                " Stran</div><div style=\"font-size:0.7em;\" class=\"pageCount\">Platnost do: " +
                newDate +
                " </div></a> </li>");
    }
});
等等

我需要按照预先定义的顺序写出项目

var order=new Array(); 
order[0]="Tesco";       
order[1]="Interspar";
order[2]="Penny Market";
$.each(mapdata, function(index, value) {

    //IF IS CHAIN IN ARRAY obchody, exit LOOP , ELSE ADD CHAIN TO LIST  
    if (jQuery.inArray(value.retezecnazev, obchody) === -1) {

        obchody.push(value.retezecnazev);

        countOfProducts++;

        //CHANGE DATE FORMAT 
        var choppedDate = value.platido.split('-');

        var newDate = choppedDate[2] + "." + choppedDate[1] + "." + choppedDate[0];

        $("ul").append("<li data-icon=\"false\"><a data-ajax=\"false\"  href=\"show_flyer.html?id=" +
                value.id +
                "&countOfPages=" +
                value.strany +
                "&nameOfChain=" +
                value.retezecnazev +
                "  \"><img  style=\"margin-top:10px;\" src=\" " + value.img + " \"/><h3 style=\"font-size:1.5em;\">" +
                value.retezecnazev +
                "</h3><div class=\"pageCount\" style=\"font-size:0.7em;\">" +
                value.strany +
                " Stran</div><div style=\"font-size:0.7em;\" class=\"pageCount\">Platnost do: " +
                newDate +
                " </div></a> </li>");
    }
});
我可以按原样顺序写出项目,但不能按预定义的顺序写出

var order=new Array(); 
order[0]="Tesco";       
order[1]="Interspar";
order[2]="Penny Market";
$.each(mapdata, function(index, value) {

    //IF IS CHAIN IN ARRAY obchody, exit LOOP , ELSE ADD CHAIN TO LIST  
    if (jQuery.inArray(value.retezecnazev, obchody) === -1) {

        obchody.push(value.retezecnazev);

        countOfProducts++;

        //CHANGE DATE FORMAT 
        var choppedDate = value.platido.split('-');

        var newDate = choppedDate[2] + "." + choppedDate[1] + "." + choppedDate[0];

        $("ul").append("<li data-icon=\"false\"><a data-ajax=\"false\"  href=\"show_flyer.html?id=" +
                value.id +
                "&countOfPages=" +
                value.strany +
                "&nameOfChain=" +
                value.retezecnazev +
                "  \"><img  style=\"margin-top:10px;\" src=\" " + value.img + " \"/><h3 style=\"font-size:1.5em;\">" +
                value.retezecnazev +
                "</h3><div class=\"pageCount\" style=\"font-size:0.7em;\">" +
                value.strany +
                " Stran</div><div style=\"font-size:0.7em;\" class=\"pageCount\">Platnost do: " +
                newDate +
                " </div></a> </li>");
    }
});
$。每个(映射数据、函数(索引、值){
//如果是数组对象中的链,则退出循环,否则将链添加到列表中
if(jQuery.inArray(value.retezecnazev,obchody)=-1){
obchody.push(value.retezecnazev);
countOfProducts++;
//更改日期格式
var choppedDate=value.platido.split('-');
var newDate=choppedDate[2]+“+”+choppedDate[1]+“+”+choppedDate[0];
$(“ul”)。追加(“”;
}
});
有谁能帮我解决这个问题吗


非常感谢您的建议。

您是希望在数组第一次写入时对其进行排序,然后保持原样,还是希望允许用户在数组已在页面上后对其进行排序?如果不关心在加载页面后对数组进行排序,请在循环mapData之前立即应用排序:


参数
mapdata
是数组还是普通JavaScript对象(hashmap)?如果迭代对象的属性,则不能保证顺序。您可能希望将
订单
数组传递到
$中。每个(…)
相关: