मैं <select>
तत्व के <option>
एस बनाने के लिए, और इसके डिफ़ॉल्ट-चयनित मान को सेट करने के लिए knockout.js का उपयोग कर रहा हूं। तक अपेक्षित सभी कार्य मैं optionsValue
बाध्यकारी जोड़ता हूं, जिस बिंदु पर ड्रॉपडाउन अब पृष्ठ लोड पर उचित प्रारंभिक मान नहीं दिखाता है।<select> तत्व के <option> एस दोनों पाठ और मूल्यों के साथ, और प्रारंभिक रूप से चयनित मूल्य भी सेट करने के लिए आप knockout.js का उपयोग कैसे करते हैं?
दूसरे शब्दों में, यह काम करता है:
<select data-bind="value: selectedAccount, options: accounts, optionsText: 'name'"></select>
... लेकिन यह काम नहीं करता:
<!doctype html>
<html>
<head>
<title>Demo</title>
<script src='knockout-2.1.0.debug.js'></script>
</head>
<body>
<select data-bind="value: selectedAccount, options: accounts, optionsText: 'name', optionsValue: 'id'"></select>
<script>
function QuickTransferViewmodel()
{
var self = this;
self.accounts =
[
{ id: 0, name: "Spending" },
{ id: 1, name: "Savings" }
];
self.selectedAccount = ko.observable(self.accounts[1]);
}
ko.applyBindings(new QuickTransferViewmodel());
</script>
</body>
</html>
मैं:
<select data-bind="value: selectedAccount, options: accounts, optionsText: 'name', optionsValue: 'id'"></select>
यहाँ मेरी सरलीकृत, पूरा कोड है ड्रॉपडाउन डिफ़ॉल्ट रूप से चुने गए "बचत" को दिखाने की अपेक्षा करेगा। यह केवल तभी करता है जब मैं विकल्पों को हटा देता हूं।
अग्रिम धन्यवाद!
सीधे आपके प्रश्नों से संबंधित नहीं है, लेकिन यदि आप 'value' बाइंडिंग 'विकल्प' से पहले हैं तो आपको कुछ असामान्य परिणाम मिल सकते हैं। –