我對jquery很新穎。目前我正在研究一個購物車項目,其中有三種類型的商品(item1,item2,item3)和三個包(bag1,bag2,bag3)和一個購物車(如bag1)接受item1,item2,item3,bag2接受item2,item3和bag3只接受item3,我已經開發到目前爲止。如何讓用戶點擊一個可放置的div,使其他div的放置功能在點擊可放棄的div後應該被禁用
現在我想添加其他功能,例如用戶應該先選擇(點擊)任意一個包(例如bag1),然後嘗試將物品放入bag1中,以便其他兩個包放入功能應該禁用(其他即使袋子可以接受,袋子也不應該接受任何物品),並且如果用戶選擇其他袋子也是相反的。
請試試看。我真的需要幫助。
HTML
<div class="bag1" ><p>bag1</p></div>
<div class="bag2" > <p>bag2</p></div>
<div class="bag3" ><p>bag3</p></div>
<div class="item1"><p>item1_1</p></div>
<div class="item1"><p>item2_1</p></div>
<div class="item1"><p>item2_1</p></div>
JS
$('.bag1').droppable({
accept: '.item1,.item2,.item3',
onDragEnter:function(e,source){
$(source).draggable('options').cursor='auto';
},
onDragLeave:function(e,source){
$(source).draggable('options').cursor='not-allowed';
},
onDrop:function(e,source){
var name = $(source).find('p:eq(0)').html();
var price = $(source).find('p:eq(1)').html();
addProduct(name, parseFloat(price.split('$')[1]));
}
});
$('.bag2').droppable({
accept: '.item2,.item3',
onDragEnter:function(e,source){
$(source).draggable('options').cursor='auto';
},
onDragLeave:function(e,source){
$(source).draggable('options').cursor='not-allowed';
},
onDrop:function(e,source){
var name = $(source).find('p:eq(0)').html();
var price = $(source).find('p:eq(1)').html();
}
});
$('.bag3').droppable({
accept: '.item3',
onDragEnter:function(e,source){
$(source).draggable('options').cursor='auto';
},
onDragLeave:function(e,source){
$(source).draggable('options').cursor='not-allowed';
},
onDrop:function(e,source){
var name = $(source).find('p:eq(0)').html();
var price = $(source).find('p:eq(1)').html();
}
});
我確實希望用戶先點擊他們喜歡的任何一個包(bag1或bag2或bag3),然後讓他們將物品放入該包本身。在選擇任何一個包之前,他們應該不能放下任何物品。 – scotter
然後您可以進行以下操作: 1.禁用所有可放入的物品 2.單擊添加啓用被點擊的可放置物品。 3.取決於您的流禁用可拖動後,東西被拖入或保持點擊後droppable。 –
太棒了!!!這個主意太棒了!!非常感謝!!但是這個刪除按鈕不工作。您有解決方案嗎? – scotter