5

データベースに挿入するデータを準備するために、serialize() および toArray と sortable() を使用することを推奨する Stackoverflow に関するいくつかの質問を読みました。ただし、それらを sortable('toArray') または sortable('serialize') に渡そうとすると、コードが壊れます。つまり、リストはソートできなくなります。ここにフィドルがあります

http://jsfiddle.net/mjmitche/sTzCS/16/

私が間違っていることを誰かが知っていますか?

<ul id="sortlist">
        <li id="Vancouver">Vancouver</li>
        <li id="Toronto">Toronto</li>
        <li id="Montreal">Montreal</li>
        <li id="Ottawa">Ottawa</li>
        <li id="Calgary">Calgary</li>
        <li id="Edmonton">Edmonton</li>
        <li id="Winnipeg">Winnipeg</li>
     </ul>​

JavaScript

// also tried $('#sortlist').sortable('serialize);

var result = $('#sortlist').sortable("toArray");

alert(result); 
4

3 に答える 3

6

これはそれを行う方法です

$("#sortlist").sortable({stop: function(event, ui) {
    result = $("#sortlist").sortable("toArray");
     alert(result.length);

}});
于 2012-09-16T00:17:13.850 に答える
5

li の ID を「Toronto」から「city_Toronto」などに変更しました。

<ul id="sortlist">
        <li id="city_Vancouver">Vancouver</li>
        <li id="city_Toronto">Toronto</li>
        <li id="city_Montreal">Montreal</li>
        <li id="city_Ottawa">Ottawa</li>
        <li id="city_Calgary">Calgary</li>
        <li id="city_Edmonton">Edmonton</li>
        <li id="city_Winnipeg">Winnipeg</li>
     </ul>

jqueryui docsから:

serialize はデフォルトで各項目の ID を「setname_number」の形式で調べて動作し、「setname[]=number&setname[]=number」のようなハッシュを吐き出します。

https://stackoverflow.com/a/1959893で説明されているように、ul をソート可能にするために jquery コードに追加の .sortable() を追加しました

var result = $('#sortlist').sortable().sortable("serialize");

( http://jsfiddle.net/s8eJU/に分岐)

于 2013-09-09T18:29:41.867 に答える