2011-09-21 8 views
7

मैं AJAX के साथ jstree के साथ काम कर रहा हूं और मुझे लगता है कि मेरे सभी नोड्स का विस्तार करने के लिए तीर है, यहां तक ​​कि जिनके पास कोई बच्चा नहीं है। Jstree http://www.jstree.com/demo के डेमो पृष्ठ पर यह मामला नहीं है। मैं डेमो कोड पर कुछ अलग नहीं देखता, तो क्या यह सर्वर से आता है? क्या मुझे जेस्ट्री में कहने के लिए "गेट चिल्ड्रेन" विधि के जवाब में एक पैरामीटर है "यह एक है, कोई बच्चा नहीं है, इसे विस्तारित करने में सक्षम नहीं है"?jstree के साथ समस्या कोई बच्चे के साथ नोड्स का विस्तार कर सकती है

कोई भी यह कहां से आया है से पता है? और मैं इसे ठीक करने के लिए क्या कर सकता हूं?

क्योंकि यह जब मैं ContextMenu प्लगइन का कॉपी/पेस्ट फ़ंक्शन का उपयोग किया एक समस्या हो रहा है। जब मैं किसी नोड (नए माता-पिता) को बिना बच्चों के पेस्ट करता हूं और अभी तक नहीं खोलता (इसलिए बच्चों को लोड नहीं किया गया है), बच्चों को प्राप्त करने के अनुरोध को छोड़कर कुछ भी नहीं होता है (जैसे कि मैं नोड खोलने के लिए क्लिक करता हूं) जो स्पष्ट रूप से कुछ भी नहीं लौटाता । और यह move_node फ़ंक्शन निष्पादित नहीं करता है।

संपादित करें: मैं ContextMenu

किसी ने मेरी मदद कर सकते से "जोड़ें" के साथ एक ही समस्या है?

धन्यवाद

+0

आप jsfiddle पर एक नमूना बना सकते हैं के रूप में "jstree पत्ती" दे सकता है? – Radek

उत्तर

4

मैं अपने नोड्स बच्चे नहीं है कि के लिए attr संपत्ति को jstree-leaf वर्ग गयी।

attr: { "class" : "jstree-leaf" } 

यह तब सीएसएस कक्षा सेट करता है जिसमें आपको विस्तार सुविधा नहीं है।

2

मुझे बच्चों के बिना "बनाने" विधि और नोड्स के साथ एक ही समस्या थी। इसे "नोड" के बजाय इस तरह के नोड्स राज्य को "खुला" के रूप में निर्दिष्ट किया गया।

उम्मीद करता है कि इससे मदद मिलती है।

+2

मुझे इसे क्वांडरी के अनुसार 'पत्ता' पर सेट करना पड़ा। 'बंद' काम नहीं किया। – fiat

+1

मुझे इसे 'पत्ता' पर भी सेट करना पड़ा। –

10

jsTree प्रलेखन से:

http://www.jstree.com/documentation/html_data 

तीन वर्गों में से एक नोड संरचना के आधार पर लागू किया जाएगा:

<li class="[ jstree-open | jstree-closed | jstree-leaf ]"> 

जोनाथन Stowell ठीक है, लेकिन attr.class सेटिंग को "jstree- पत्ता "काम नहीं करेगा (कम से कम नवीनतम संस्करण पर नहीं)।

लेकिन "खुला" और "बंद" node.state की मुझे याद दिलाया, तो मैं करने की कोशिश की, और यह पता चला है जब आप नोड सेट करें। राज्य आपके JSON धारावाहिक वर्ग में "पत्ता" के लिए, यह गैर-विस्तार योग्य होगा।

+2

"राज्य" सेटिंग: "पत्ता" मेरे लिए काम किया। धन्यवाद! – realgt

+0

बहुत अच्छी चाल ;-) – spiderman77

+0

शानदार! उत्तम – Neo

1

अगर आप json डेटा भेजने, li_attr की क्लास

li_attr: {class = "jstree-leaf" } 
संबंधित मुद्दे