这把我难倒了。下面的代码返回",,,":
<script type="text/javascript">
$(function() {
$('#listB').sortable({
connectWith: '#listA',
update: function(event, ui) {
var result = $(this).sortable('toArray');
alert(result);
}
});
$('#listA').sortable({
connectWith: '#listB'
});
});
</script>
<div id="boxA">
<ul id="listA" class="myList">
<li value="1">Item A</li>
<li value="2">Item B</li>
<li value="3">Item C</li>
<li value="4">Item D</li>
<li value="5">Item E</li>
<li value="6">Item F</li>
<li value="7">Item G</li>
</ul>
</div>
<div id="boxB">
<ul id="listB" class="myList">
<li value="1">Item A</li>
<li value="2">Item B</li>
<li value="3">Item C</li>
<li value="4">Item D</li>
<li value="5">Item E</li>
<li value="6">Item F</li>
<li value="7">Item G</li>
</ul>
</div>
为什么?!快把我逼疯了!有什么建议吗?
发布于 2009-11-03 03:13:30
.sortable('toArray')
将项Ids
序列化为数组,而您的项没有Ids,这就是为什么您有空字符串。
发布于 2013-03-13 18:33:39
您可以像这样定义要获取的属性:
var result = $(this).sortable('toArray', {attribute: 'value'});
发布于 2017-08-18 03:28:21
我看到了一些纯javascript的答案。它们可以工作,但要注意,它们可能不会按屏幕上可见的顺序返回项目。使用下面的代码,参见上面的jtsalva,将以正确的排序顺序返回项目。这让我困惑了一段时间,因为我想将新订单保存到数据库中,这样我就可以在有人停止的地方重新加载网格。
var result = $(this).sortable('toArray', {attribute: 'value'});
https://stackoverflow.com/questions/1663012
复制相似问题