1

クラスをシリアル化しようとしている次のjsfiddleがあります。

HTML:

<content>
<div class="portlet portlet_1 portlet_content_1 new">some content here</div>
<div class="portlet portlet_1 portlet_content_1 new">some content here</div>
<div class="portlet portlet_1 portlet_content_1 new">some content here</div>
<div class="portlet portlet_2 portlet_content_2 new">some content here</div>
<div class="portlet portlet_2 portlet_content_2 new">some content here</div>
<div class="portlet portlet_3 portlet_content_3 new">some content here</div>
</content>

<button>Serialize</button>​

JS:

$("content").sortable();

$("button").on("click", function() {
    var data = $("content").sortable("serialize", {
        key: "item",
        attribute: "class"
    });
    alert(data);
});​

http://jsfiddle.net/WTTsB/2/

アラートでは、次を取得する必要があります。

item=1&item=1&item=1&item=2&item=2&item=3

各 div タグには複数のクラスがあるため、これを処理する方法がわかりません。

誰かがこれで私を助けてくれますか?

4

2 に答える 2

0

次のようにします: http://jsfiddle.net/phenomnomnominal/WTTsB/5/

<content>
    <div class="new portlet portlet_1 portlet_content_1">some content here</div>
    <div class="new portlet portlet_1 portlet_content_1">some content here</div>
    <div class="new portlet portlet_1 portlet_content_1">some content here</div>
    <div class="new portlet portlet_2 portlet_content_2">some content here</div>
    <div class="new portlet portlet_2 portlet_content_2">some content here</div>
    <div class="new portlet portlet_3 portlet_content_3">some content here</div>
</content>

ソート可能から:

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

これは、ある種の文字列操作で発生する必要があるため、「1」を取得する代わりに、「1 new」を返していました。クラスを並べ替えると、CSS などは同じままですが、関数は属性を適切に読み取ることができます。

于 2012-06-20T12:42:01.720 に答える
0

シリアライザーメソッドはスペースを処理しないため、現象名が言ったように実行できます。解析する必要があるクラスを推測できないため、最後に認識したものを解析します。ただし、独自の正規表現で強​​制することはできますが、ドキュメントが見つかりません。それでも、次のように呼び出す必要があります。

var data = $("content").sortable("serialize", {
    key: "item",
    attribute: "class",
    expression: /(.+)_(.+)/
});

最初のグループはキー属性で、2 番目のグループは値です。この解析クラスは次のようになります:

class="myclass_234"

に:

item=234
于 2012-06-20T12:50:27.270 に答える