有谁知道如何结合jQuery UI可选和排序吗? 此脚本:http://nicolas.rudas.info/jquery/selectables_sortables/在Chrome中不起作用,并且还具有插件修改。jQuery UI可排序和可选
28
A
回答
32
刚刚发现this很容易的解决方案,从rdworth:
CSS:
ul { width: 300px; list-style: none; margin: 0; padding: 0; }
li { background: white; position:relative;margin: 1em 0; padding: 1em; border: 2px solid gray; list-style: none; padding-left: 42px; }
li .handle { background: #f8f8f8; position: absolute; left: 0; top: 0; bottom: 0; padding:8px; }
.ui-selecting { background: #eee; }
.ui-selecting .handle { background: #ddd; }
.ui-selected { background: #def; }
.ui-selected .handle { background: #cde; }
HTML:
<ul id="list">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
的Javascript:
$("#list")
.sortable({ handle: ".handle" })
.selectable({ filter: "li", cancel: ".handle" })
.find("li")
.addClass("ui-corner-all")
.prepend("<div class='handle'><span class='ui-icon ui-icon-carat-2-n-s'></span></div>");
参见:this小提琴。
5
这是像我可以给ü:)但这个想法是存在的。它不是alllll完成,但希望美国可以发挥一下的价值观,看看它是从那里怎么一回事呢:)我的jQuery基库的
0
部分包括以下内容,因为它是通常讨厌当你去拖东西,最终不是选择文本...
// disables text selection on sortable, draggable items
$(".sortable").sortable();
$(".sortable").disableSelection();
不知道如果你可以翻转“禁用”为“Enable”,但有我的$ .02。虽然没有尝试过......常识意味着你可能需要在同一个“group”元素中定义一个非活动部分,为拖动动作提供一个“句柄......”,否则这些点击可能被无情地误认为是意图选择/编辑...
0
试试这个。您可以使用Ctrl + Click
多选择和排序
+0
请在答案本身中添加代码的相关部分... – 2016-07-01 09:50:19
0
如果要选择多个元素和MOVE他们全都另一份清单,这fiddle效果很好:
HTML:
<meta charset="utf-8" />
<title>jQuery UI Sortable with Selectable</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<body>
<ul id="album" class="connectedSortable">
<li id="li1"><div>1- First</div></li>
<li id="li2"><div>2- Second</div></li>
<li id="li3"><div>3- Third</div></li>
<li id="li4"><div>4- Fourth</div></li>
<li id="li5"><div>5- Fifth</div></li>
<li id="li6"><div>6- Sixth</div></li>
<li id="li7"><div>7- Seventh</div></li>
<li id="li8"><div>8- Eighth</div></li>
</ul>
<ul id="album2" class="connectedSortable">
<li id="li1"><div>1- 1</div></li>
<li id="li2"><div>2- 2</div></li>
<li id="li3"><div>3- 3</div></li>
<li id="li4"><div>4- 4</div></li>
<li id="li5"><div>5- 5</div></li>
<li id="li6"><div>6- 6</div></li>
<li id="li7"><div>7- 7</div></li>
<li id="li8"><div>8- 8</div></li>
</ul>
<div id="anotheralbum" class="connectedSortable">
another album - no style for the lists inside here
</div>
<br style="clear:both">
</body>
Javascript:
<script>
$(function() {
//
$('body').selectable({
filter: 'li'
//filter: '#album2 > li'
});
/*
Since the sortable seems unable to move more than one object at a
time, we'll do this:
The LIs should act only as wrappers for DIVs.
When sorting a LI, move all the DIVs that are children of selected
LIs to inside the sorting LI (this will make them move together);
but before doing that, save inside the DIVs a reference to their
respective original parents, so we can restore them later.
When the user drop the sorting, restore the DIVs to their original
parent LIs and place those LIs right after the just-dropped LI.
Voilá!
Tip: doesn't work so great if you try to stick the LIs inside the LI
*/
$('.connectedSortable').sortable({
connectWith: ".connectedSortable",
delay: 100,
start: function(e, ui) {
var topleft = 0;
// if the current sorting LI is not selected, select
$(ui.item).addClass('ui-selected');
$('.ui-selected div').each(function() {
// save reference to original parent
var originalParent = $(this).parent()[0];
$(this).data('origin', originalParent);
// position each DIV in cascade
$(this).css('position', 'absolute');
$(this).css('top', topleft);
$(this).css('left', topleft);
topleft += 20;
}).appendTo(ui.item); // glue them all inside current sorting LI
},
stop: function(e, ui) {
$(ui.item).children().each(function() {
// restore all the DIVs in the sorting LI to their original parents
var originalParent = $(this).data('origin');
$(this).appendTo(originalParent);
// remove the cascade positioning
$(this).css('position', '');
$(this).css('top', '');
$(this).css('left', '');
});
// put the selected LIs after the just-dropped sorting LI
$('#album .ui-selected').insertAfter(ui.item);
// put the selected LIs after the just-dropped sorting LI
$('#album2 .ui-selected').insertAfter(ui.item);
}
});
//
});
</script>
CSS:
<style>
*,
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#album {
list-style: none;
float: left;
width: 20%;
border: 1px solid red;
}
#album2 {
list-style: none;
float: left;
width: 20%;
border: 1px solid red;
}
#album li {
float: left;
margin: 5px;
}
#album2 li {
float: left;
margin: 5px;
}
#album div {
width: 100px;
height: 100px;
border: 1px solid #CCC;
background: #F6F6F6;
}
#album2 div {
width: 100px;
height: 100px;
border: 1px solid #CCC;
background: #F6F6F6;
}
#album .ui-sortable-placeholder {
border: 1px dashed #CCC;
width: 100px;
height: 100px;
background: none;
visibility: visible !important;
}
#album2 .ui-sortable-placeholder {
border: 1px dashed #CCC;
width: 100px;
height: 100px;
background: none;
visibility: visible !important;
}
#album .ui-selecting div,
#album .ui-selected div {
background-color: #3C6;
}
#album2 .ui-selecting div,
#album2 .ui-selected div {
background-color: #3C6;
}
#anotheralbum {
list-style: none;
float: left;
width: 20%;
height: 800px;
border: 1px solid blue;
}
</style>
这是从例如在http://www.pieromori.com.br/snippets/sortable_with_selectable.html感谢皮耶罗森修改。
相关问题
- 1. JQuery UI,可排序和可选
- 2. jQuery UI:可排序和可拖动的排序和排序
- 3. Jquery UI可排序
- 4. jQuery UI可以选择框排序
- 5. jQuery UI可排序:多项选择
- 6. jQuery UI可排序动画
- 7. jQuery UI可排序图像
- 8. jQuery UI可排序问题
- 9. jQuery UI可排序公差
- 10. jQuery UI可排序位置
- 11. jQuery UI可排序和容器缩放
- 12. jQuery-UI可拖拽和排序
- 13. jQuery UI可排序和对话
- 14. ng-repeat和jquery ui可排序
- 15. jQuery UI默认排序可排序
- 16. Jquery Ui可排序块X可编辑
- 17. jQuery UI可拖放到可排序
- 18. 可排序与jQuery UI可拖放
- 19. 使用jQuery UI可拖动,可放开和可排序
- 20. jQuery UI可拖动connectToSortable不遵守可排序项选项
- 21. 编辑可排序的可选li与jquery-ui
- 22. 内置可排序列表的JQuery UI可排序部分(div)
- 23. Jquery UI组合可排序和可拖动
- 24. 的jQuery UI 1.7 1.8可拖动,可放开和排序共存
- 25. jQuery可选择句柄和排序
- 26. jquery可排序的多选
- 27. Sencha Touch dataGrid - 可排序和可选
- 28. JQuery可排序/可选插件与drag'n'drop?
- 29. jQuery多选可拖拽/可排序
- 30. KnockoutJS/jQuery UI可排序冲突
我已经做到了,但由于一些版权问题,我没有给出代码:),但我会告诉你如何的指导:) – Val 2011-02-23 13:06:19