试图在jsfiddle中序列化

时间:2012-06-20 12:34:04

标签: jquery jquery-ui jquery-ui-sortable

我有以下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标签都有多个类。

有人可以帮帮我吗?

2 个答案:

答案 0 :(得分: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,以及&gt;它吐出一个像“setname [] = number&amp; setname [] = number”。

这样的哈希值

这必须通过某种字符串操作来实现,因此不是获得“1”,而是返回“1 new”。重新排序类意味着您的CSS等将保持不变,但该函数可以正确读取属性。

答案 1 :(得分:0)

你可以像phenomnomnominal那样说,因为序列化方法不处理空间,它无法猜测它必须解析哪个类,所以它解析它识别的最后一个。但你可以使用自己的正则表达式强制它,但我找不到任何文档,仍然应该像这样调用:

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

第一组是您的关键属性,第二组是您的价值;这个解析类是这样的:

class="myclass_234"

为:

item=234