我正在研究拖拉机drop page,允许用户从源列表中选择字段并将其放入目标列表的选择中。
虽然此功能在高级别上运行,但我试图通过允许同时选择并移动多个字段来使体验更好。
可排序:
$('#in_available_fields').sortable({
connectWith: '.sortable-list',
placeholder: 'placeholder',
start: function(event, ui) {
if (!$(ui.item).hasClass("allowPrimary")) {
$(".primaryPanel").removeClass('panel-primary').addClass("panel-danger");
}
if (!$(ui.item).hasClass("allowSecondary")) {
$(".secondaryPanel").removeClass('panel-primary').addClass("panel-danger");
}
if (!$(ui.item).hasClass("allowExport")) {
$(".exportPanel").removeClass('panel-primary').addClass("panel-danger");
}
checkFields()
},
....
悬浮窗:
// Enable dropzone for primary fields
$('.primaryDropzone').sortable({
connectWith: '.sortable-list',
placeholder: 'placeholder',
receive: function(event, ui) {
// If we dont allow primary fields here, cancel
if (!$(ui.item).hasClass("allowPrimary")) {
$(ui.placeholder).css('display', 'none');
$(ui.sender).sortable("cancel");
}
},
over: function(event, ui) {
if (!$(ui.item).hasClass("allowPrimary")) {
$(ui.placeholder).css('display', 'none');
} else {
$(ui.placeholder).css('display', '');
}
},
....
我的想法是,向用户说清楚是在每个字段的标签前添加一个复选框。通过这种方式,他们可以一次检查多个,然后当它们拖过它们时,它会移动所有选定的。
有关最佳方法的任何想法吗?我努力通过拖放来实现这一点,我对如何为此设置多选功能感到有些不确定。
答案 0 :(得分:1)
扩展jQueryUI可排序以允许选择和排序多个 元素https://github.com/shvetsgroup/jquery.multisortable
JS:
$(function(){ $('ul.sortable').multisortable(); });
HTML:
<h2>List 1</h2>
<ul id="list1" class="sortable">
<li>Item 11</li>
<li>Item 12</li>
<li class="child">Item 12a</li>
<li class="child">Item 12b</li>
<li>Item 13</li>
<li>Item 14</li>
<li>Item 15</li>
<li>Item 16</li>
<li>Item 17</li>
<li>Item 18</li>
<li>Item 19</li>
</ul>