2012-06-20 40 views
1

連載,我有以下的jsfiddle那裏我試圖序列化類:試圖在的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/

在警報,我應該得到:

項目= 1個&項目= 1個&項目= 1個&項目= 2 &項目= 2 &項目= 3

我不知道如何處理這一點,因爲每個div標籤都有多個類。

是否有人可以幫助我?

+0

重複的走了。 – phenomnomnominal

+0

今後,請在您的帖子中包含所有相關代碼,並且**不要**僅包含jsFiddle的鏈接。您的帖子應該獨立於任何其他資源;想想如果jsFiddle將來會發生什麼事情。 – Matt

+0

您如何期望'sortable'從'class'屬性中提取您想要的數字? – lanzz

回答

0

你可以這樣做,因爲序列化方法不處理空間,它不能猜測它必須解析哪個類,因此它解析它識別的最後一個類。但你可以迫使它用自己的正則表達式,但我找不到它的任何文件,仍然應該叫這樣的:

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

第一組是你的關鍵attibute,第二組是你的價值;這解析類是這樣的:

class="myclass_234" 

到:

item=234 
+1

使用'/(\ d +)/'在這裏得到它的工作:http://jsfiddle.net/WTTsB/9/。 – oshirowanen

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> 

Sortable:

它的工作原理默認情況下通過查看格式「setname_number」每個項目的ID和>它吐出哈希像「setname [] = number & setname [] = number」。

這必須發生在某種類型的字符串操作上,所以不是獲得「1」,而是返回「1新」。重新排序類意味着你的CSS等將保持不變,但該函數可以正確讀取屬性。

+0

爲什麼改變類的順序解決了這個問題?看起來像一個黑客,或利用一個錯誤? – oshirowanen