2011-01-11 11 views
5

मेरे पास डोजो 1.5 के साथ एक फॉर्म सेटअप है। मैं एक dijit.form.ComboBox और एक dijit.form का उपयोग कर रहा हूँ। टेक्स्टबॉक्सडोजो: डोजो ऑनब्लूर इवेंट

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

नियमित कोडिंग में मैं केवल एक बॉक्स पर एक ऑनब्लूर ईवेंट का उपयोग करता हूं ताकि यह देखने के लिए कि कॉम्बोबॉक्स का मूल्य क्या है या नहीं। मैं डोजो में देखते हैं कि इस काम नहीं करता है ... कोड उदाहरण नीचे है ...

Vehicle: 
    <input dojoType="dijit.form.ComboBox" 
     store="xvarStore" 
     value="" 
     searchAttr="name" 
     name="vehicle_1" 
     id="vehicle_1" 
    /> 
Descriptor: 
<input type="text" 
       dojoType="dijit.form.TextBox" 
       value="" 
       class=lighttext 
       style="width:350px;height:19px" 
       id="filter_value_1" 
       name="filter_value_1" 
       /> 

मेरे प्रारंभिक प्रयास विवरणक के < इनपुट > टैग के भीतर एक onBlur जोड़ने के लिए था, लेकिन पता चला कि वह काम नहीं करता ।

डोजो इसे कैसे संभालता है? क्या यह एक dojo.connect पैरामीटर के माध्यम से है? हालांकि कंबोबॉक्स के ऊपर दिए गए उदाहरण में "vehicle_1" की एक आईडी है और टेक्स्ट बॉक्स में "filter_value_1" की एक आईडी है, वहां कई comboboxes और टेक्स्टबॉक्स क्रमशः ऊपर की संख्या में हो सकते हैं। (वाहन_2, वाहन_3, आदि)

संसाधनों के लिए कोई सलाह या लिंक की सराहना की जाएगी।

dojo.connect(dojo.byId("vehicle_1"), "onBlur", function() { /* do something */ }); 

आप एकाधिक आदानों है कि आप को यह कनेक्ट करने की आवश्यकता है, तो उन को धुंधला करने की जरूरत है कि के लिए एक कस्टम वर्ग को जोड़ने पर विचार: जेनी

उत्तर

7

) onBlur घटना आप dojo.connect का उपयोग करना चाहिए (जोड़ने के लिए और dojo.query का उपयोग कर उन सभी को कनेक्ट करने के लिए:

Vehicle: 
    <input dojoType="dijit.form.ComboBox" 
     store="xvarStore" 
     class="blurEvent" 
     value="" 
     searchAttr="name" 
     name="vehicle_1" 
     id="vehicle_1" 
    /> 

dojo.query(".blurEvent").forEach(function(node, index, arr) { 
     dojo.connect(node, "onBlur", function() { /* do something */ }); 
    }); 

समारोह है कि अंत पर संख्या को निकाल देते हैं और प्रत्येक filter_value_ संदर्भित करने के लिए इसका इस्तेमाल करने के dojo.connect करने के लिए आप कुछ कोड में जोड़ सकता है पारित हो जाता है में * सत्यापन के लिए इनपुट।

dojo.connect()

Combobox documention

4

onBlur मेरे लिए ठीक काम करने के लिए, एचटीएमएल-घोषित विजेट में भी लगता है। यहाँ एक बहुत ही मौलिक उदाहरण है:

http://jsfiddle.net/kfranqueiro/BWT4U/

इस के लिए एक अधिक आदर्श समाधान के लिए (फ़ायरबग/वेबकिट निरीक्षक/IE8 देव उपकरण खुला console.log संदेश देखने के लिए है।)

हालांकि,, आप हो सकता है कुछ अन्य विगेट्स में रुचि हो ...

उम्मीद है कि यह आपको शुरू कर सकता है।

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