gpt4 book ai didi

javascript - 动态jquery ui可排序 block 的索引/位置?

转载 作者:行者123 更新时间:2023-12-03 11:03:23 25 4
gpt4 key购买 nike

不幸的是,我无法在 jsfiddle 中使用它,但也许我忽略了一些东西( http://jsfiddle.net/bJpyU/46/ )。我有动态创建的 block ,需要保存它们的放置顺序。由于设置的动态方式,我无法获取索引(它始终为 0,并且首先开始的 block 始终显示为第一个索引,无论它被拖动到哪里)。 toArray 和序列化显示为空白。我什至尝试过数第n个 child 。知道如何获得订单吗?

HTML

<div class="tab-pane active col-lg-12" id="portlet_tab_Graphs">
<div class="row padLR sortable_portlets" id="sortable_portlet_Graphs">

<div class="col-lg-4 sortable sortable_portlet_Graphs_column ui-sortable" id="102">
<div class="portlet box yellow">
<div class="portlet-title">Monthly License Revenue</div>
</div>
<div class="portlet-body clearfix pad">
<div id="h1_sortable_portlet_Graphs_102"></div>
<div id="sortable_portlet_Graphs_102">
<div class="col-lg-12 nPad">
<div class="btn-group chartToggle inline">Graph Data</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4 sortable sortable_portlet_Graphs_column ui-sortable" id="103">
<div class="portlet box blue">
<div class="portlet-title">Yearly License Revenue</div>
</div>
<div class="portlet-body clearfix pad">
<div id="h1_sortable_portlet_Graphs_102"></div>
<div id="sortable_portlet_Graphs_102">
<div class="col-lg-12 nPad">
<div class="btn-group chartToggle inline">Graph Data</div>
</div>
</div>
</div>
</div>

</div>
</div>

JQUERY

var sortdiv = "Graphs"
var blockClasses = "col-lg-4";

$(".sortable_portlet_" + sortdiv[2] + "_column").sortable({
connectWith: ".sortable_portlet_" + sortdiv[2] + "_column",
handle: ".portlet-title",
//placeholder: "dragColumn",
forceHelperSize: true,
forcePlaceholderSize: true,

start: function (e, ui) {
ui.placeholder.height(ui.helper.outerHeight());
ui.placeholder.width(ui.helper.outerWidth());

// get original block size
blockClasses = ui.item.parent().attr('class');
},
stop: function (e, ui) {
var parent = ui.item.parent();

blockWidth = blockClasses.split(" ");

parent.attr('class', function (i, c) {
return c.replace(/(^|\s)col-lg-\S+/g, blockWidth[0]);
});

//console.log(ui.position)
SavePortletDrop(sortdiv[2]);
}
});

最佳答案

我认为错误实际上是由于将 sortable 附加到您正在排序的每个单独项目而导致的。它应该附加到容器 div。

因此,尽管它看起来有效,但实际上您是在一堆 1 项列表中移动,这些列表始终位于索引 0。

通过将 sortable 附加到 #sortable_portlet_Graphs,我让它像我认为的那样工作。这使得 ui.item.index() 返回您在 stop 函数中期望的数字。

http://jsfiddle.net/bJpyU/47/

关于javascript - 动态jquery ui可排序 block 的索引/位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27974109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com