Имам два div, всеки от които съдържа списък с количества и елементи. Елементите могат да се плъзгат и div, съдържащ елементите, може да се пуска. Ако елемент със същото име се появи в този div, този елемент не може да бъде пуснат отново в този div. В крайна сметка аз ще контролирам броя на елементите, които се преместват, но засега просто се опитвам да накарам тази част да работи.
Проблемът, който имам, е, че след като пусна елемент върху div, вече не мога да го плъзгам. Опитах се да добавя draggable() към новия елемент, който създавам, но това просто направи нещата странни.
Същият код работи, когато добавях li към ul, но исках да преместя само името на елемента, а не количеството, така че използвам div вместо li.
Ето jsfiddle от моя код: http://jsfiddle.net/imjustabill/eJ4KH/
А ето и съответните части
$(function () {
$("#inventory1 .item").draggable({
appendTo: "body",
helper: "clone"
});
$("#inventory2").droppable({
drop: function (event, ui) {
var item = ui.draggable.attr("data-item");
var qty = ui.draggable.attr("data-qty");
var itemDesc = ui.draggable.text();
if (!$(this).find("[data-item='"+item+"']").length) {
$("<div class='qty'></div>").text(qty).appendTo(this);
$("<div class='item ui-draggable' data-qty='"+qty+"' data-item='"+item+"'></div>").text(itemDesc).appendTo(this);
}
}
});
$("#inventory2 .item").draggable({
appendTo: "body",
helper: "clone"
});
$("#inventory1").droppable({
drop: function (event, ui) {
var item = ui.draggable.attr("data-item");
var qty = ui.draggable.attr("data-qty");
var itemDesc = ui.draggable.text();
if (!$(this).find("[data-item='"+item+"']").length) {
$("<div class='qty'></div>").text(qty).appendTo(this);
$("<div class='item ui-draggable' data-qty='"+qty+"' data-item='"+item+"'></div>").text(itemDesc).appendTo(this);
}
}
});
});
<div id="inventory1">
<h4>Inventory 1</h4>
<div class="qty">7</div><div class="item" data-qty="7" data-item="item1">Item 1</div>
<div class="qty">5</div><div class="item" data-qty="5" data-item="item2">Item 2</div>
<div class="qty">2</div><div class="item" data-qty="2" data-item="item3">Item 3</div>
<div class="qty">9</div><div class="item" data-qty="9" data-item="item4">Item 4</div></div>
<div id="inventory2">
<h4>Inventory 2</h4>
<div class="qty">4</div><div class="item" data-qty="4" data-item="item1">Item 1</div>
<div class="qty">2</div><div class="item" data-qty="2" data-item="item5">Item 5</div></div>
Някакви идеи? Благодаря ти.