Я бы хотел (с помощью оператора клавиатуры) выбрать несколько элементов в неупорядоченном списке и перетащить их в другую точку в том же списке с помощью jQuery Sortable.jQuery UI Sortable: Multi-item select
3
A
ответ
2
- Выберите элементы для сортировки
- Создание пользовательского помощника
- Скрыть выбранные элементы до сортировки не будет сделано
- Изменение размера заполнителя в соответствии с выбором
- вручную отделить выбранные элементы из текущего положения и прикрепите их к новому положению после сортировки
- Показать скрытые объекты (отменить шаг 3) после шага5
Вот как я сделал (Изменение моего answer для этого question):
$(function() {
$('ul').on('click', 'li', function() {
$(this).toggleClass('selected');
});
$("ul").sortable({
revert: true,
helper: function(e, item) {
if (!item.hasClass('selected')) item.addClass('selected');
var elements = $('.selected').not('.ui-sortable-placeholder').clone();
var helper = $('<ul/>');
item.siblings('.selected').addClass('hidden');
return helper.append(elements);
},
start: function(e, ui) {
var elements = ui.item.siblings('.selected.hidden').not('.ui-sortable-placeholder');
ui.item.data('items', elements);
var len = ui.helper.children().length;
var height = ui.item.height() + 5;
ui.helper.height((len * height))
ui.placeholder.height((len * height))
},
receive: function(e, ui) {
ui.item.before(ui.item.data('items'));
},
stop: function(e, ui) {
ui.item.siblings('.selected').removeClass('hidden');
$('.selected').removeClass('selected');
}
});
});
* {
margin: 0;
padding: 0;
}
#sortable {
width: 300px;
padding: 5px;
margin-right: 100px;
background: #eee;
border: 1px solid black;
}
ul li {
width: 250px;
margin: 5px;
padding: 5px;
font-size: 1.2em;
cursor: move;
background-color: white;
list-style-type: none;
}
.selected {
background: red !important;
}
.hidden {
display: none !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<ul id="sortable">
<li>Item #1</li>
<li>Item #2</li>
<li>Item #3</li>
<li>Item #4</li>
<li>Item #5</li>
</ul>
(Выбор нескольких элементов, нажав каждый из них в демо)
+0
Этот подход в порядке, но когда я тестировал d я обнаружил проблему с использованием класса 'hidden', поэтому я исправил это с помощью метода' hide() '. Фактически сортируемые использования скрывают вместо класса 'hidden', поэтому лучше использовать то же самое. – p1nox
Смежные вопросы
- 1. jQuery Multi-Select Dragable/Sortable
- 2. Ember.js jQuery UI Sortable
- 3. jQuery UI Sortable
- 4. jQuery UI Sortable Question
- 5. JQuery UI Sortable
- 6. jquery sortable ui exceptions
- 7. jQuery UI Sortable Position
- 8. jquery ui sortable append
- 9. jQuery sortable with Select Options
- 10. jquery ui drag drop + sortable
- 11. jQuery UI sortable click event
- 12. jQuery UI Sortable «Держать вместе»?
- 13. JQuery UI Sortable + Toggle Problem
- 14. Dropzone.js + JQuery UI sortable queue
- 15. jQuery UI Sortable - Load Positions
- 16. jQuery Sortable UI Syntax Issue
- 17. Альтернатива jQuery ui sortable required
- 18. jQuery UI sortable touch duration
- 19. jquery ui sortable - текущий элемент
- 20. jQuery UI Sortable Window Scroll
- 21. JQuery UI sortable inside contente
- 22. JQuery UI Sortable - элементы кузена
- 23. JQuery Ui Sortable Divs Disapear
- 24. Задача jQuery UI sortable event
- 25. JQuery-UI sortable tooltip opacity
- 26. JQuery UI sortable добавляет элемент?
- 27. JQuery ui sortable drop event
- 28. jQuery UI Sortable and Dialogue
- 29. Jquery UI .sortable триггер() выберите сортировать
- 30. jQuery UI: объединение Sortable с Draggable при клонировании Sortable
http://keithcirkel.co.uk/jwerty/ –