1
これは、codeと、リンクされたfiddleです。コンテナ内のドロップ可能なドラッグされたアイテムの数の制限
これは私が探しているものに近いですが、リスト2とリスト3に3つのドラッグ可能なアイテムしか受け付けないようにしたいのでカウンターを追加したいと思います。
私はこのコードに私の目的のためにリストを追加するつもりであり、また3つのアイテムしか受け入れる必要がありません。
リスト1は、すべてのドラッグ可能なアイテムを受け入れる必要があります。
私はこのすべてを追跡するためにカウンタを持つ配列を作成する必要があると思いますが、その方法はわかりません。私は本当に理解していないか、JavaScriptを知っていない。
これについてのお手伝いをいただければ幸いです。
$(document).ready(function(){
$(".droppable").droppable({
drop: function(event, ui) {
var $list = $(this);
$helper = ui.helper;
$($helper).removeClass("selected");
var $selected = $(".selected");
if($selected.length > 1){
moveSelected($list,$selected);
}else{
moveItem(ui.draggable,$list);
}
}, tolerance: "touch"
});
$(".draggable").draggable({
revert: "invalid",
helper: "clone",
cursor: "move",
drag: function(event,ui){
var $helper = ui.helper;
$($helper).removeClass("selected");
var $selected = $(".selected");
if($selected.length > 1){
$($helper).html($selected.length + " items");
}
}
});
function moveSelected($list,$selected){
$($selected).each(function(){
$(this).fadeOut(function(){
$(this).appendTo($list).removeClass("selected").fadeIn();
});
});
}
function moveItem($item,$list) {
$item.fadeOut(function() {
$item.find(".item").remove();
$item.appendTo($list).fadeIn();
});
}
$(".item").click(function(){
$(this).toggleClass("selected");
});
});
HTML ...、
<div id="list1" class="droppable list"><!-- I want this to accept many. -->
<div class="item draggable">1</div>
<div class="item draggable">2</div>
<div class="item draggable">3</div>
<div class="item draggable">4</div>
</div>
<div id="list2" class="droppable list"><!-- I want this to accept only 3. -->
<div class="item draggable">5</div>
<div class="item draggable">6</div>
</div>
<div id="list3" class="droppable list"><!-- I want this to accept only 3. -->
<div class="item draggable">7</div>
</div>
はどうもありがとう:) – Nancy76
を.selectedまだ各リストに3つ以上を追加することができます。どのようにそれを防ぐためのアイデア? if($ selected.length <= 3) 'に' $( "droppable").delppable' ... 'if($ selected.length> 1)'を変更しましたが、それでも各リストに3つ以上を追加することができ、選択されたdraggablesを残します。 – Nancy76
私はこのコメントを本当に理解できません。あなたは明確にしていただけますか? – Dekel