【发布时间】:2011-12-14 22:48:14
【问题描述】:
我正在尝试在 jQuery 可排序集中选择多个项目,然后将所选项目一起移动。
这是我的弱点beginning of an attempt to make it work。这是代码:
HTML:
<div class="container">
<div>one</div>
<div>two</div>
<div>three</div>
<div>four</div>
<div>five</div>
</div>
JS:
$('.container div').draggable({
connectToSortable: '.container',
//How do I drag all selected items?
helper: function(e, ui) {
return $('.selected');
}
});
$('.container').sortable({
axis: 'y',
//How do I sort all selected items?
helper: function(e, ui) {
return $('.selected');
}
});
$('.container div').live('click', function(e) {
$(this).toggleClass('selected');
});
CSS:
body{background-color:#012;font-family:sans-serif;text-align:center;}
div{margin:5px 0;padding:1em;}
.container{width:52%;margin:1in auto;background-color:#555;border-radius:.5em;box-shadow:0 0 20px black;}
.container div{background-color:#333;color:#aaa;border:1px solid #777;background-color:#333;color:#aaa;border-radius:.25em;cursor:default;height:1em;}
.container div:hover{background-color:#383838;color:#ccc;}
.selected{background-color:#36a !important;border-color:#036 !important;color:#fff !important;font-weight:bolder;}
我不知道我是否朝着正确的方向前进。我在网上的任何地方都找不到这样的例子。 Justlotsofrelatedquestions.有人知道怎么做吗?
例如,如果我从 6 个列表中选择了项目 4 和 5。我希望能够将 4 和 5 拖到集合的顶部以获得此顺序 - 4 5 1 2 3 6 - 或者如果我选择了 5 和 1 并将它们拖到底部 - 2 3 4 6 1 5
【问题讨论】:
-
向问题添加代码以保持 SO 自包含和可搜索。
-
@dzejkej 谢谢。我之前看到过,但我担心它会在未来的 jquery 版本中中断,所以我通过了它。我很高兴你再次引起我的注意。我认为它可能会奏效。如果它将来坏了,我会向你寻求帮助:)。
-
谢谢@Merlyn。从现在开始,我将包含代码。
标签: javascript jquery jquery-ui jquery-ui-sortable