0

私は形式キーの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"
}

この書き込みのソースコードを表示すると、すべてが上記のようにソートされます。

問題は、 jQuery.ajaxを使用した場合です

この場合、536059 のように、ID 順に並べ替えられた値が返されます。

私は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];
    }

これに対する簡単な解決策はありますか?

助けてくれてありがとう。

4

1 に答える 1

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"}]
于 2012-05-10T11:55:52.210 に答える