sortable returns nothing 的序列化方法
Serialize method of sortable returns nothing
为什么我更改排序顺序后我的 data
对象是空的?在 UI 中,顺序已更改,但现在我想根据 li
元素的 id
属性捕获元素的新顺序。
$(function () {
$("#sortable").sortable({
placeholder: "picplaceholder",
update: function (event, ui) {
var data = $(this).sortable('serialize');
console.log(data);
}
});
$("#sortable").disableSelection();
});
<ul id="sortable">
<li id="1">
<div class="editphoto">
1
<i class="fa fa-arrows fa-lg pointer"></i>
</div>
</li>
<li id="2">
<div class="editphoto">
2
<i class="fa fa-arrows fa-lg pointer"></i>
</div>
</li>
<li id="3">
<div class="editphoto">
3
<i class="fa fa-arrows fa-lg pointer"></i>
</div>
</li>
</ul>
document says,为了使序列化工作,id
应该是某种格式。
Note: If serialize returns an empty string, make sure the id
attributes include an underscore. They must be in the form:
"set_number" For example, a 3 element list with id attributes "foo_1",
"foo_5", "foo_2" will serialize to "foo[]=1&foo[]=5&foo[]=2". You can
use an underscore, equal sign or hyphen to separate the set and
number. For example "foo=1", "foo-1", and "foo_1" all serialize to
"foo[]=1".
在您的情况下,Id
可能应该是 id_1
等等。 (我只是猜测,因为问题没有说明序列化后预期的输出)。
这是一个demo
如果预期输出是一个数组(像这样 ["1", "2", "3"] )那么 .toArray()
是更好的选择
希望对您有所帮助
为什么我更改排序顺序后我的 data
对象是空的?在 UI 中,顺序已更改,但现在我想根据 li
元素的 id
属性捕获元素的新顺序。
$(function () {
$("#sortable").sortable({
placeholder: "picplaceholder",
update: function (event, ui) {
var data = $(this).sortable('serialize');
console.log(data);
}
});
$("#sortable").disableSelection();
});
<ul id="sortable">
<li id="1">
<div class="editphoto">
1
<i class="fa fa-arrows fa-lg pointer"></i>
</div>
</li>
<li id="2">
<div class="editphoto">
2
<i class="fa fa-arrows fa-lg pointer"></i>
</div>
</li>
<li id="3">
<div class="editphoto">
3
<i class="fa fa-arrows fa-lg pointer"></i>
</div>
</li>
</ul>
document says,为了使序列化工作,id
应该是某种格式。
Note: If serialize returns an empty string, make sure the id attributes include an underscore. They must be in the form: "set_number" For example, a 3 element list with id attributes "foo_1", "foo_5", "foo_2" will serialize to "foo[]=1&foo[]=5&foo[]=2". You can use an underscore, equal sign or hyphen to separate the set and number. For example "foo=1", "foo-1", and "foo_1" all serialize to "foo[]=1".
在您的情况下,Id
可能应该是 id_1
等等。 (我只是猜测,因为问题没有说明序列化后预期的输出)。
这是一个demo
如果预期输出是一个数组(像这样 ["1", "2", "3"] )那么 .toArray()
是更好的选择
希望对您有所帮助