1
我有以下的html:JQuery用戶界面可排序 - 無重複允許
<div id="cats-and-links">
<div class="cat favorites">
<h2>Favorites</h2>
<ul class="ui-sortable">
<li class="place-holder info">To add items to your favorites drag them over to this list from their original list.</li>
</ul>
</div>
<div class="cat">
<h2>Participants</h2>
<ul class="ui-sortable">
<li data-id="1"><a href="/program/2/control-panel/demo1">Demo 1</a></li>
<li data-id="2"><a href="/program/2/control-panel/demo2">Demo 2</a></li>
<li data-id="3"><a href="/program/2/control-panel/demo3">Demo 3</a></li>
<li data-id="4"><a href="/program/2/control-panel/demo4">Demo 4</a></li>
<li data-id="5"><a href="/program/2/control-panel/demo5">Demo 5</a></li>
</ul>
</div>
<br class="clear">
</div>
我有以下的jQuery:
$(document).ready(function() {
var place_holder = $('.place-holder');
var fav = $('.favorites ul');
var cat = $(".cat ul");
cat.sortable({
connectWith: fav,
cursor:'move',
helper:'original',
placeholder:'ui-state-highlight',
receive: function(event, ui){
console.log(ui);
ui.item.addClass('added');
if(ui.item.hasClass('added')){
fav.sortable('option', 'revert', true);
cat.sortable('option', 'revert', true);
}
//console.log(ui.item.attr('data-id'));
//ajax here to get the list item favorited.
},
over: function(event, ui){
place_holder.hide();
},
stop: function(event, ui){
if(fav.children().length == 1){
place_holder.show();
}
},
remove: function(event, ui){
ui.item.clone().appendTo(fav);
$(this).sortable('cancel');
}
}).disableSelection();
});
我想解決兩個問題。我試圖通過向原始項目添加一個類來解決這個問題,而不是讓它再次被添加。所以問題:
- 如果項目已被添加到「收藏夾」列表中,請勿將一個列表中的項目(「參與者」)移動到另一個列表(「收藏夾」)。
- 不允許在(「參與者」)列表中拖放分類。
任何幫助,非常感謝。