2011-10-23 21 views
7

मैं विकल्प के साथ एक डिजीट चयन विजेट पॉप्युलेट कर रहा हूं जब भी कोई अन्य चयन विजेट का मान बदलता है।प्रोग्रामेटिक रूप से डिजीट का चयनित मान सेट करें विजेट

मेरे ऐप में, "बस रूट" के लिए ड्रॉपडाउन मेनू और "बस स्टॉप" के लिए ड्रॉपडाउन मेनू है। उपयोगकर्ताओं ने बस मार्गों और स्टॉप को असाइन किया है जो अद्यतन करने योग्य होना चाहिए।

तो जब पृष्ठ पहले लोड होता है, तो मार्ग ड्रॉपडाउन बॉक्स में सभी मार्ग उपलब्ध होते हैं, और जिस रूट को आप वर्तमान में सौंपा गया है वह चयनित मूल्य है। स्टॉप मेनू उस मार्ग से जुड़े सभी स्टॉप के साथ लोड किया गया है, लेकिन कोई चयनित मान नहीं है, इसलिए डिफ़ॉल्ट रूप से, यह पहला विकल्प है।

जब भी उपयोगकर्ता वर्तमान में चयनित मार्ग बदलता है, तो स्टॉप मेनू तदनुसार बदलता है और उस मार्ग से जुड़े सभी स्टॉप के साथ पॉप्युलेट होता है।

मेरा प्रश्न है, डोजो के साथ, मैं स्टॉप मेनू में "चयनित" विकल्प कैसे सेट कर सकता हूं?

मैं यह स्पष्ट करना चाहता हूं कि वर्तमान में "चयनित" स्टॉप मार्ग में पहला विकल्प होने के बजाय उस उपयोगकर्ता को कौन सा स्टॉप वर्तमान में सौंपा गया है।

धन्यवाद।

उत्तर

17
selectWidget.set("value", someValue); 

आप options संपत्ति के माध्यम से विकल्प का उल्लेख कर रहे हैं (label, value के साथ वस्तुओं की सरणी, आदि), तो someValue उन वस्तुओं में से एक की value मेल खाना चाहिए। (ध्यान दें कि आप भी सही सरणी options के लिए पारित में वस्तुओं में से एक के भीतर selected: true निर्दिष्ट कर सकते हैं।)

आप store संपत्ति के माध्यम से एक dojo.data की दुकान से आइटम प्रदान कर रहे हैं, तो someValue एक की पहचान से मेल खाना चाहिए दुकान की वस्तुओं का।

(संपादित करें) नोट: मैंने उपरोक्त माना है कि "डिजीट चयन विजेट" आप dijit.form.Select का जिक्र कर रहे हैं। यदि आप वास्तव में dijit.form.ComboBox या dijit.form.FilteringSelect का उपयोग कर रहे हैं, तो कोड की एक ही पंक्ति अभी भी सही है, जैसा कि पिछले पैराग्राफ में स्टोर पर लागू है। select टैग के साथ घोषणात्मक तत्कालता के मामले में, कॉम्बोबॉक्स और फ़िल्टरिंग चयन अभी भी एक स्टोर बनाते हैं, जिनकी वस्तुओं की पहचान चुनिंदा टैग के विकल्पों के मान हैं।

3
//With dojo version 1.9 
//search for the item in store dojo/store/Memory with the corresponding id value 
var objItem = store.get("1"); 
//set the combobox's item 
comboBox.set("item", objItem); 
+1

यह वही था जहां मैं ढूंढ रहा था! – GuyT

+0

क्या कोई मूल्य भी समाशोधन के साथ काम करने का कोई तरीका है? – streetlight

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