[英]jQuery save sortable list
我使用了以下jQuery示例: http : //jqueryui.com/sortable/#connect-lists-through-tabs
<script>
$(document).ready(function() {
$(function() {
$( ".connectedSortable" ).sortable().disableSelection();
var $tabs = $( "#tabs" ).tabs();
var $tab_items = $( "ul:first li", $tabs ).droppable({
accept: ".connectedSortable li",
hoverClass: "ui-state-hover",
drop: function( event, ui ) {
var $item = $( this );
var $list = $( $item.find( "a" ).attr( "href" ) )
.find( ".connectedSortable" );
ui.draggable.hide( "slow", function() {
$tabs.tabs( "option", "active", $tab_items.index( $item ) );
$( this ).appendTo( $list ).show( "slow" );
});
}
});
});
});
</script>
的HTML:
<div id="tabs">
<ul>
<li><a href="#Category1">Category1</a></li>
<li><a href="#Category2">Category2</a></li>
</ul>
<div id="Category1">
<ul id="sortable-Category1" class="connectedSortable ui-helper-reset">
<li class="ui-state-default">Forum 1</li>
<li class="ui-state-default">Forum 2</li>
</ul>
</div>
<div id="Category2">
<ul id="sortable-Category2" class="connectedSortable ui-helper-reset">
<li class="ui-state-default">Forum 3</li>
<li class="ui-state-default">Forum 4</li>
</ul>
</div
但是现在,当我重新排序商品时更改列表中的某些商品时,我希望这样做。 我知道如何通过AJAX等将更改写入数据库,但是当拖放列表中的内容时会调用什么方法+如何在上面的现有javascript中实现此方法?
并且有一种方法可以获取格式为[[-id-of-li-item]-[列表中的数字]]的列表顺序,以便我可以使用数据库中名为'order的字段'指定项目顺序的地方?
我要实现的目标是:我有一个包含类别和论坛的论坛。 我想使用上面的代码对论坛/类别进行排序(类别中论坛的顺序,并将论坛移至其他类别)
$( ".connectedSortable" ).sortable({
update: function (event, ui) {
var newSeq = [], p = ui.item.parent(), parentId = p.parent().prop('nodeName') === "LI" ? p.parent().attr('id') : 0;
ui.item.parent().children().each(function () {
newSeq.push(this.id);
});
// here you have newSeq... now update it via ajax
}
});
这取决于元素的ID。 newSeq[]
中将有ID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.