如何在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)?如果迭代对象的属性,则不能保证顺序。您可能希望将订单
数组传递到$中。每个(…)
相关: