javascript - Binding radio buttons to array of objects -
मेरे पास मेरा दृश्य मॉडल है:
फ़ंक्शन (डेटा सेवा, व्यक्ति) {var लिंग = ko.observableArray (); Var भाषाओं = को.ओब्सबलएर्रे (); Var person = ko.observableArray (); फ़ंक्शन सक्रिय करें () {dataservice.getGenders (लिंग); dataservice.getGenders (भाषा); } Var vm = {लिंग: लिंग, भाषाएं: भाषाएं, व्यक्ति: व्यक्ति}; } फ़ंक्शन व्यक्ति (व्यक्ति) {var firtstName = person.firtstName; Var familyName = person.familyName; Var लिंगआईडी = व्यक्ति.genderId; Var languageId = person.languageId; } यह स्पष्टता के लिए सरल है
उसके बाद मेरे पास मेरे 'लिंग' डेटा सर्वर से है, ऐसा लगता है:
[{$ id: "1", लिंग आईडी: 2, लिंग नाम: "महिला मेरे पास भी भाषाएं है जो इस तरह दिखता है: कोड> [{"$ id": "1", "LanguageId": 2, "भाषानाम": "अफ़ार", "भाषाउद्देशन": "अफ़ार", "लैंग्वेज कोड": "एए"}] मैं जो प्राप्त करने की कोशिश कर रहा हूं वह डेटा दृश्य के रूप में मेरे दृश्य मॉडल से लिंग सरणी को बाध्य करने के लिए है और Person.GenderId का उपयोग करने के मान के रूप में , एक तरह से कि सही रेडियो बटन शुरू में चुना गया है यह चयन Person.GenderId पर निर्भर था। मैंने एक ड्रॉप डाउन का उपयोग करके भाषा जैसा कुछ किया था और यह ठीक काम करता है: < Pre class = "lang-html prettyprint-override"> & lt; अनुभाग डेटा-बाइंड = "साथ: $ root.personModel" & gt; & Lt; चुनें id = "भाषा" डेटा-बाइंड = "विकल्प: $ root.languages, optionsText: 'LanguageName', optionsValue: 'LanguageId', मान: भाषाइंड, विकल्पपरिवर्तक: 'कोई नहीं' & gt; & Lt; / चयन & gt; & Lt; / अनुभाग & gt; अब मैं रेडियो बटन के साथ ऐसा ही करने की कोशिश कर रहा हूं, लेकिन मुझे नहीं पता कि यह कैसे काम करना है। यहां मेरे पास क्या है:
& lt; अनुभाग डेटा-बाइंड = "साथ: $ root.personModel" & gt; & Lt;! - को अग्रैक: $ root.genders - & gt; & Lt; इनपुट प्रकार = "रेडियो" नाम = "लिंग" डेटा-बाइंड = "एट्रि: {मान: लिंग आईडी}, चेक किया गया: लिंग आईडी" / & gt; & Lt; span डेटा-बाइंड = "टेक्स्ट: $ डेटा। लिंगनाम" & gt; & lt; / span & gt; & Lt;! - / ko - & gt; & Lt; / अनुभाग & gt; अगर मैं चीजों को सही ढंग से समझता हूं, foreach बाध्यकारी कार्य जैसा करता है और मेरे संदर्भ में बदलाव करता है, इसलिए मैं जेनर आईडी मेरे संपर्क में व्यक्ति ।
बदल
& lt; इनपुट प्रकार = "रेडियो" नाम = "लिंग" डेटा-बाइंड = "एट्रि: {मान: लिंग आईडी}, चेक किया गया: लिंग आईडी" / & gt;
& lt; इनपुट प्रकार = "रेडियो" नाम = "लिंग" डेटा-बाइंड = "attr: {value: Gender ID}, चेक किया गया: $ parent.GenderId "/ & gt; के रूप में समझाया
$ parent: यह मूल प्रसंग में दृश्य मॉडल ऑब्जेक्ट है, जो वर्तमान संदर्भ से बाहर एक है। मूल संदर्भ में, यह अपरिभाषित है।
Comments
Post a Comment