2 개의 목록간에 항목을 이동하고 정렬 순서를 변경하려면 sortable()을 사용하고 있습니다. 내가하려고하는 것은 클릭 할 때 다른 목록으로 항목을 보내는 각 항목 옆에 아이콘을 추가하는 것입니다. 여기까지 내가 지금까지 가지고 있으며 필요한 방법을 추적 할 수 없었습니다. 아래 코드는 요소에 올바른 아이콘을 추가하지만 (& 아이콘 제거) 아이콘에 클릭 이벤트를 할당해야합니다.jQuery UI Sortable connect with return icon
<ul class="sortable-list" id="availableColumns">
<li>Apple <a href="#" class="sort-icon sort-add">Add</a></li>
<li>Orange <a href="#" class="sort-icon sort-add">Add</a></li>
<li>Banana <a href="#" class="sort-icon sort-add">Add</a></li>
</ul>
<ul class="sortable-list" id="defaultColumns">
<li>Grapefruit <a href="#" class="sort-icon sort-remove">Remove</a></li>
</ul>
$('.sortable-list').sortable({
cancel: false,
connectWith: '.sortable-list',
update: function(event, ui) {
if (ui.sender && $(ui.sender).attr('id') == 'availableColumns'){
$(ui.item).find('.sort-icon').remove().end().append(closeIcon);
} else if (ui.sender && $(ui.sender).attr('id') == 'defaultColumns'){
$(ui.item).find('.sort-icon').remove().end().prepend(addIcon);
}
}
});
$('body').on('click.sortable-remove', '.sort-remove', function(e){
e.preventDefault();
console.log('REMOVE - move item to #availableColumns');
});
$('body').on('click.sortable-add', '.sort-add', function(e){
e.preventDefault();
console.log('ADD - move item to #defaultColumns');
});
====== 편집 나는 그것만큼 쉬운 일이 아니었다 가정 어떤 이유 ========
:
$('#defaultColumns').find('li:first').appendTo('#availableColumns');
그러나 그것은 나타납니다 잘 작동합니다. 왜 내가이 방법을 사용하지 않아야하는 이유가 있습니까? 정렬 가능한 항목을 다른 connectWith 컨테이너로 수동으로 이동하는 방법을 찾지 못했습니다.
편집 된 솔루션은 나에게 잘 보이지만 문제는 없습니다. – Swires