2010-10-22 8 views
10

का उपयोग कर रहा है। मुझे एक क्रमबद्ध सूची मिली है जो connectWith का उपयोग कर रही है ताकि यह सुनिश्चित किया जा सके कि इसे केवल अपनी ही सूची में ही क्रमबद्ध किया जा सके।एक jQuery ड्रॉपपैबल को एक क्रमबद्ध से आइटम स्वीकार करें जो कनेक्टविथ

अब मैं एक ड्रॉप करने योग्य ट्रैश तत्व बनाने की कोशिश कर रहा हूं जो किसी आइटम को सॉर्ट किए जाने पर व्यूपोर्ट के नीचे दिखाई देता है। यह तत्व सूचियों के संदर्भ के बाहर है और उस पर छोड़े गए किसी भी तत्व को हटा देता है। वांछित कार्यक्षमता एक एंड्रॉइड फोन के डेस्कटॉप से ​​एक शॉर्टकट हटाने के समान है, अगर आप इससे परिचित हैं।

समस्या यह है कि, हालांकि मेरा कचरा एक ड्रॉपपेल है जो '*' स्वीकार करता है, मेरे सॉर्टेबल को केवल connectWith अन्य '.dropZone' आइटम केवल बताया जाता है, जिसका अर्थ है कि मैं अपने किसी भी सॉर्ट करने योग्य तत्व को होवर नहीं कर सकता ट्रैश तत्व पर राज्य।

मैंने प्रत्येक क्रमबद्ध को start ईवेंट पर ड्रैग करने योग्य बनाने की कोशिश की है, लेकिन निश्चित रूप से मैं उस पलगाबल को सटीक पल पर खींच नहीं रहा हूं और इसलिए यह सक्रिय नहीं है। क्या दोनों आवश्यकताओं को पूरा करना संभव है या क्या मुझे कचरे का पता लगाने के लिए मैन्युअल रूप से होवर करना है?

+0

की [jQuery क्रमित करने योग्य और droppable] संभावित डुप्लिकेट (http://stackoverflow.com/questions/2090121/jquery-sortable-and-droppable) –

उत्तर

1

कचरा बनाने के बारे में कैसे .dropZone भी कर सकते हैं? फिर आपको उचित drop ईवेंट मिलेगा, और आप ठीक से हटाने को संभाल सकते हैं।

कचरे को बनाने के दुष्प्रभाव हो सकते हैं, लेकिन मुझे लगता है कि उन्हें काम करना आसान होना चाहिए।

यदि यह आपकी आवश्यकताओं को पूरा नहीं करता है, तो क्या आप डेमो somewhere फेंक सकते हैं, इसलिए हम जानते हैं कि आपको अपनी संरचना को बरकरार रखने के लिए वास्तव में क्या करना होगा, जबकि आपको अभी भी आवश्यक कार्यक्षमता जोड़नी है?

+0

कैसे यह एक sortable बन जाएगा (जब तक कि सिस्टम "ड्रॉपटेबल" (एक और jquery-ui चीज़) और "क्रमबद्ध" के बीच एक भिन्नता की संभावना के साथ विकसित नहीं किया गया था। मुझे लगता है कि उत्तर एक ड्रॉप करने योग्य वर्ग, एक क्रमबद्ध वर्ग और एक खींचने योग्य वर्ग बनाने के लिए है। –

+0

मैं धारणा के तहत काम कर रहा था, जैसा कि ओपी ने वर्णन किया था कि कनेक्टविड्थ विकल्प पर झुकाव है। कचरा बनाना एक क्रमबद्ध सरल काम था। हालांकि, चूंकि PetersenDidIt का समाधान स्पष्ट रूप से काम करता है, अवधारणाओं के गंदे अंडरहाइड दुरुपयोग की कोई आवश्यकता नहीं है। ;) – Thomas

17

चूंकि connectWith एक चयनकर्ता स्वीकार करता है, तो आप इसे एक चयनकर्ता प्रदान कर सकते हैं जो अन्य कनेक्ट की गई सूचियों और आपके कचरा दोनों का चयन कर सकता है।

$("#sortable1, #sortable2").sortable({ 
    connectWith: '.connectedSortable, #trash' 
}).disableSelection(); 

$("#trash").droppable({ 
    accept: ".connectedSortable li", 
    hoverClass: "ui-state-hover", 
    drop: function(ev, ui) { 
     ui.draggable.remove(); 
    } 
}); 

उदाहरण: http://jsfiddle.net/petersendidit/YDZJs/1/

+2

मैं ड्रैगगेबल, ड्रॉपपेबल का उपयोग करके अपने बालों को खींच रहा था और कई सूचियों को क्रमबद्ध करने और उनके बीच खींचने/ड्रॉप करने के लिए क्रमबद्ध करने की कोशिश कर रहा था। आप बस उन सभी के लिए क्रमबद्ध उपयोग करें और कोई ड्रैग करने योग्य और ड्रॉप करने योग्य नहीं है और यह बस काम करता है। धन्यवाद! –

+0

धन्यवाद @ जोहानविकस्ट्रॉम, मैं किसी कारण से एक ही काम कर रहा था। इसे सॉर्ट करने योग्य सॉर्टेड (अहम) का उपयोग करने के लिए इसे बदलना :) – CommentLuv

+1

सॉर्ट करने योग्य के 'कनेक्टविथ' विकल्प केवल क्रमबद्ध कनेक्ट करता है। यह ड्रॉपपैबल्स से कनेक्ट नहीं होता है। आइटम [बस वापस क्रमबद्ध करने के लिए वापस आ जाता है] (http://jsfiddle.net/YDZJs/303/)। आपका डेमो [वही काम करता है] (http://jsfiddle.net/YDZJs/302/) 'कनेक्टविथ' विकल्प के बिना। –

संबंधित मुद्दे