Есть ли настраиваемый вариант для достижения такой функции, как замена элементов списка, а не замена элементов в JQuery Sortable UI. Текущая функция похожа на Item1 Swaps с Item2 и наоборот. Мне нужна такая функция, как: Если item2 перетаскивается и кланяется на Item1, item2 должен заменить Item1, а позиция Item2 будет пуста. Любая помощь? Благодарю.JQuery Sortable - Замена элементов, а не замена элементов
ответ
Хийя демоhttp://jsfiddle.net/CZm9C/2/
Теперь перетащите из первой коробки во вторую. Надеюсь, что это помогает, и, пожалуйста, дайте мне знать, если я пропустил что-нибудь, :)
Jquery
$(document).ready(function(){
$(".leftDiv .item").draggable({
helper: function(ev, ui) {
return "<span class='helperPick'>"+$(this).html()+"</span>";
},
connectToSortable: ".rightDiv"
});
$(".rightDiv").sortable({
'items': ".item",
'receive': function(event, ui){
// find the class of the dropped ui, look for the one with the integer suffix.
var clazz = getClassNameWithNumberSuffix(ui.item);
$('.leftDiv .' + clazz).draggable("option", "revert", true)
if($('.rightDiv .' + clazz).length > 1){
$('.rightDiv .' + clazz + ':not(:first)').remove();
}
$('.leftDiv .' + clazz).remove();
}
});
});
function getClassNameWithNumberSuffix(el) {
var className = null;
var regexp = /\w+\d+/;
$($(el).attr('class').split(' ')).each(function() {
if (regexp.test(this)) {
className = this;
return false;
}
});
return className;
}
HTML
<div class="leftDiv"> drag to ==>
<div class="item item1">Item 1</div>
<div class="item item2">Item 2</div>
<div class="item item3">Item 3</div>
<div class="item item4">Item 4</div>
<div class="item item5">Item 5</div>
<div class="item item6">Item 6</div>
</div>
<div class="rightDiv"> ==> To this
<div class="item item1">Item 1</div>
<div class="item item2">Item 2</div>
<div class="item item3">Item 3</div>
<div class="item item4">Item 4</div>
<div class="item item5">Item 5</div>
<div class="item item6">Item 6</div>
</div>
CSS
.leftDiv, .rightDiv {width:120px; float:left; border:1px solid #000; padding:5px; margin:10px; min-height:130px}
.rightDiv {margin-left:40px}
.item {height:20px; line-height:20px; text-align:center; border:1px solid #EEE; background-color:#FFF}
.helperPick {border:1px dashed red; height:20px; line-height:20px; text-align:center; width:120px}
Спасибо за ваш код и помощь. Я действительно смотрю эту функцию в Sortable, а не перетаскивает из перетаскиваемого элемента, связанного со списком Sortable. Я смог скрыть местозаполнитель и почувствовать замену, но, к сожалению, я не могу идентифицировать индекс места падения, чтобы заменить. Из-за отказа, для меня метод получения сам не звонит. Благодарю. –
Вы можете сделать это с помощью следующего кода:
$('#container').sortable({
connectWith: '#container',
items: '.children', //#container > .children
cursor: 'move',
receive: function(event, ui) {
var item = $(ui.item);
var sender = $(ui.sender);
sender.append(item.siblings('.children'));
}
});
- 1. Замена элементов с JQuery
- 2. замена элементов в кортежах
- 3. Замена элементов в строке
- 4. замена элементов массива Perl
- 5. Замена элементов на lxml.html
- 6. Замена элементов в массиве
- 7. Замена матричных элементов Matlab
- 8. VBA: замена элементов массива
- 9. Замена элементов в QTableWidget
- 10. Замена элементов в массиве
- 11. Замена элементов в списке
- 12. Замена элементов вектора
- 13. Замена всех вхождений элементов массива
- 14. Замена элементов списка с помощью элементов словаря?
- 15. Замена элементов и удаление всех элементов
- 16. Замена пробелы внутри элементов списка
- 17. Замена элементов списка в схеме
- 18. Замена переменных номеров элементов ... regex?
- 19. Замена элементов столбца в R
- 20. Условно замена элементов двумя списками
- 21. C++ замена элементов массива перемещением, а не копированием
- 22. Замена элементов массива в массиве
- 23. замена элементов в 2D Список
- 24. Сравнение и замена элементов списка
- 25. Замена элементов в строке вхождения
- 26. замена текста в вложенных элементов
- 27. OCaml: замена элементов в списке
- 28. индексации и замена XTS элементов
- 29. Поиск и замена всех элементов
- 30. Настройка элементов, принимаемых jQuery sortable
Вы всегда можете связать с драг/событий падения и обрабатывать его самостоятельно ... –
Вы, наверное, было бы лучше использовать перетаскивание и Выбрасывается, а не сортируется. – Rob
@Brad Christie: Я не мог найти никаких событий драпировки/перетаскивания для Jquery Sortable в документации. Можете ли вы кратко объяснить плз. Спасибо –