按字母顺序排序JQM列表视图?

时间:2012-05-10 11:49:58

标签: json jquery-mobile

我在格式键中有一个JSON - 值:

{
"535826": "Adamov",
"536156": "Bečice",
"544272": "Borek",
"544281": "Borovany",
"535681": "Borovnice",
"544299": "Boršov nad Vltavou",
"535401": "Bošilec",
"551490": "Branišov",
"536059": "Břehov"
}

如果我显示此回写的源代码是按照上面排序的所有内容,那么aplhabeticaly。

问题是,如果我使用 jQuery.ajax

在这种情况下,按ID排序的返回值,例如536059

我在Jquery移动列表上写,广告所以我不能使用像

这样的排序方法
//SORT UNORDERED LIST  - NOT USED 
function sortUnorderedList(ul, sortDescending) {
      if(typeof ul == "string")
        ul = document.getElementById(ul);

      // Idiot-proof, remove if you want
      if(!ul) {
        alert("The UL object is null!");
        return;
      }

      // Get the list items and setup an array for sorting
      var lis = ul.getElementsByTagName("LI");
      var vals = [];

      // Populate the array
      for(var i = 0, l = lis.length; i < l; i++)
        vals.push(lis[i].innerHTML);

      // Sort it
      vals.sort();

      // Sometimes you gotta DESC
      if(sortDescending)
        vals.reverse();

      // Change the list on the page
      for(var i = 0, l = lis.length; i < l; i++)
        lis[i].innerHTML = vals[i];
    }

存在任何简单的解决方案吗?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

地图的问题在于它本身就是未分类的。你有控制源吗?您可以生成一个键/值对列表,其中将保留订单:

[{"535826": "Adamov"},
{"536156": "Bečice"},
{"544272": "Borek"},
{"544281": "Borovany"},
{"535681": "Borovnice"},
{"544299": "Boršov nad Vltavou"},
{"535401": "Bošilec"},
{"551490": "Branišov"},
{"536059": "Břehov"}]