2009-07-28 16 views
8

YUI 3 में मैं एक नोड मेरी सलेक्ट बॉक्स है कि है: (? भले ही एक से अधिक कर रहे हैं)मैं यूयूआई 3 में चुनिंदा बॉक्स मूल्य कैसे प्राप्त करूं?

Y.get('#regionSelect'); 

मैं <option> मूल्यों है कि वर्तमान में चयन किया जाता है कैसे मिलता है इसके अलावा, वहाँ एक ट्यूटोरियल बाहर है वहां मुझे स्पष्ट रूप से यह बताता है कि यह कैसे करें (मैं एक संपूर्ण रूप को क्रमबद्ध नहीं करना चाहता)?

उत्तर

12

एक बार जब आप चयनकर्ता है, आप कर सकते हैं श्रृंखला get और each

Y.get("#regionSelect").get("options").each(function() { 
    // this = option from the select 
    var selected = this.get('selected'); 
    var value = this.get('value'); 
    var text = this.get('text'); 
    // apply secret sauce here 
}); 

मैं सिर्फ http://developer.yahoo.com/yui/3/ पर क़ौम/उदाहरण का उपयोग किया गया बातें पता लगाने की है।

+0

धन्यवाद! यह कहां कहता है कि गुण कैसे प्राप्त करें? – ash

+1

आपका स्वागत है। डीओएम के बारे में कोई भी जावास्क्रिप्ट ट्यूटोरियल चुनिंदा और विकल्प ऑब्जेक्ट्स (साथ ही साथ अन्य सभी) के लिए अटारी होना चाहिए। वे यूयूआई विशिष्ट नहीं हैं लेकिन डीओएम का हिस्सा हैं। उदाहरण के लिए: http://www.w3schools.com/htmldom/dom_obj_select.asp – seth

+0

'चयनित' और 'टेक्स्ट' वास्तव में चयनकर्ता हैं, गुण नहीं। इसे छोड़ दिया .... – seth

8

// चयनित मूल्य

  • Y.one ('# regionSelect') ._ node.value;
  • वाई.ऑन ('# क्षेत्र चयन करें') प्राप्त करें ('मूल्य');

// सूचकांक

  • Y.one ('# regionSelect') ._ node.selectedIndex करें;
  • वाई.ऑन ('# क्षेत्र चयन करें') प्राप्त करें ('चयनित इंडेक्स');
+0

के बजाय .one() का उपयोग किया, यह हमेशा एक खाली स्ट्रिंग देता है ... क्या किसी को विकल्प नहीं मिलते हैं और फिर उनका मूल्य नहीं होता है? – lisak

+0

"_node" संपत्ति YUI नोड एपीआई का हिस्सा नहीं है। आपको इस पर भरोसा नहीं करना चाहिए। – Nathan

+0

"_node" * दृश्य निजी * ऑब्जेक्ट प्रॉपर्टी है जो यूयूआई कोडिंग मानकों –

5

आप अगर आप सिर्फ एक चयनित एक की जरूरत है सभी विकल्पों के माध्यम से पुनरावृति करने की जरूरत नहीं हो सकती है:

var index = Y.get("#regionSelect").get('selectedIndex'); 
var value = Y.get("#regionSelect").get("options").item(index).getAttribute('value'); 
1

आप सीधे इस का उपयोग कर सकते हैं। आईई का समर्थन करने के लिए selector-css3 मॉड्यूल की आवश्यकता है।

YUI().use("selector-css3", "node", function (Y) { 
    var text = Y.one("#ownerSelector option:checked").get("text"); 
}); 

http://jsfiddle.net/neosoyn/r8crW/

+0

पर आधारित तरीके से अपडेट किया गया है। – AngelWarrior

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