2010-12-12 14 views
8

में क्रमबद्ध लक्ष्य प्राप्त करने का एक चालाक तरीका है I कई सूचियों को जोड़ने के लिए jQuery UI का उपयोग कर रहा हूं, और विभिन्न सूचियों के बीच वस्तुओं को खींचने और छोड़ने की अनुमति देता हूं।क्या jQueryUI

receive घटना, मैं सूची है कि आइटम में गिरा दिया जाता है प्राप्त करना चाहते हैं। में ui.item.parent() ऐसा करने के लिए सही तरीका है, या वहाँ ui या event जो मुझे इस सीधे पहुंचें दूँगी की संपत्ति है?


<ul><li>item 1</li></ul> 
<ul><li>item 2</li></ul> 

$('ul').sortable({ 
    connectWith: 'ul', 
    receive: function(event, ui) { 
     var targetList = ui.item.parent(); 
    } 
}); 

उत्तर

8

नहीं, वहाँ नए माता पिता के लिए कोई सीधा संपत्ति है (क्योंकि .parent() पर्याप्त शायद आसान है), इसलिए आपके पास क्या है सही है। You can view all the ui properties here

यदि आप .closest(), दूसरे माता-पिता, आदि चाहते थे ... यूआई स्लिम को छोड़ना बेहतर है क्योंकि वे सभी के लिए काफी आसान हैं; यह संदर्भों को सीधे ui ऑब्जेक्ट पर संदर्भ प्रदान करने की कीमत भी बचाता है।

+0

ग्रांड, इसे साफ़ करने के लिए धन्यवाद। मुझे थोड़ा परेशान कर रहा था, लेकिन मुझे लगता है कि मैं इसे खत्म कर दूंगा! – Armand

+0

@ एलिसन - आपका स्वागत है :) –

6

चूंकि recieve ईवेंट प्राप्त करने वाली सूची पर कॉल किया जाता है, तो आप $(this) द्वारा नए माता-पिता को प्राप्त कर सकते हैं। स्रोत सूची ui.sender के माध्यम से सुलभ है।

$('ul').sortable({ 
    connectWith: 'ul', 
    receive: function(event, ui) { 
     var sourceList = ui.sender; 
     var targetList = $(this); 
    } 
}); 
+0

हालांकि मजेदार है। ui.sender अद्यतन() विधि पर शून्य है। –

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