2012-05-22 20 views
11

JQueryUI öğelerini/dropables'lerini kullanarak, bırakılan hedef öğeye sürüklenen bir öğeye nasıl eklenir? JQuery UI'nin şu anki işleyişine benziyor, sadece ekrandaki görüntüyü mutlak konumlandırma ile hareket ettiriyor. Ne yazık ki, bu işlevsellik, form gönderimlerini işe yaramaz hale getirmektedir, zira sunumdaki değerlerin pozisyonlarını alamıyorsunuz.JQuery UI - Sürüklenebilir Öğeye Ekleme Yapılabilir

Herhangi bir ürün/işaretçi için şimdiden teşekkür ederiz!

+1

de

$(myDraggable).draggable({ helper:"clone", containment:"document" }); $(myDroppable).droppable({ drop:function(event, ui) { ui.draggable.detach().appendTo($(this)); } }); 

Çalışma örneği, aslında yeni konumlandırma yansıtacak şekilde DOM değiştirir; Biliyorum çünkü (AJAX aracılığıyla) listeleri güncelliyorum ve 'tamamlanmış' geri aramada yeni div sırasını taramayı içerir. Ne yapmaya çalışıyorsun? – Sp4cecat

+0

Tam olarak ne yapmaya çalışıyorsunuz? Sürüklenmek yerine sortable aranıyormuş gibi geliyor: http://jqueryui.com/demos/sortable/ –

cevap

23

Doğru bir şekilde anladıysam sürüklenen öğenin geçerli üst öğeden ayrılmasını ve yeni olana eklenmesini ister misiniz? Sürüklemeyi yapmak için bir yardımcıyı kullanabilirsiniz (böylece orijinal öğe etkilenmez) ve bıraktıktan sonra onu çıkarın ve hedefe ekleyin (orijinal yanıtımı geliştirmek için @Oleg ve @Brian teşekkürler). Tecrübelerime göre jsFiddle

+0

Yardımlarınız için çok teşekkürler mgibsonbr! Bunu yazman için gereken zaman ve çabayı takdir ediyorum! – user1110302

+0

Bu çok yararlı, Teşekkürler –

+2

Bunun için herhangi bir genel değişken kullanmanız gerekmez - ui.helper, sürüklenebilir jq nesnesindir. Başlatma/durdurma yöntemlerinden kurtulabilirsiniz ve bu sayede ui.helper.detach(). AppendTo ($ (this)) olmalıdır. – Oleg

İlgili konular