1
我使用Knockout 2.2.1將對象綁定到下拉列表。綁定正在將正確的項目放入列表中,但是當我嘗試獲取對象時,它不起作用。我有一個JSFiddle顯示這個問題; http://jsfiddle.net/CTBSTerry/g4Gex/Dropdownlist綁定到不返回選定對象的對象
Html
<div style="margin-bottom: 15px;">
Your Choices:
<select data-bind="options: choicelists[0].options, optionsText: 'otext', optionsValue: 'oprice', value: selOpt1, optionsCaption: 'Choose...'"></select>
</div>
<div data-bind="visible: selOpt1" style="margin-bottom: 15px;"> <!-- Appears when you select something -->
You have chosen<br>
From Object:
<span data-bind="text: selOpt1() ? selOpt1().otext : 'unknown'"></span>
<br>From Value:
<span data-bind="text: selOpt1() ? selOpt1() : 'unknown'"></span>
</div>
JavaScript:
var mychoice = function (txt, price) {
this.otext = txt;
this.oprice = price;
}
var viewModel = {
prodphoto: "",
prodname: "",
prodDesc: "",
baseprice: "",
choicelists: [
{ 'listlabel': 'Size List',
'options': ko.observableArray([
new mychoice('Small', 'Small|$|0.00'),
new mychoice('Medium', 'Medium|$|0.00'),
new mychoice('Large', 'Large|$|0.00'),
new mychoice('X Large + 2.00', 'X Large|$|2.00'),
])
}],
textlists: [],
selOpt1: ko.observable()
}
ko.applyBindings(viewModel);
當您單擊下拉做出選擇我有2個跨度試圖顯示選定的價值,我想作爲選擇的不是對象只是特定的值字段。對象表示法不返回任何內容,但不返回錯誤。第二個跨度顯示選定的值,但由於它不是所選對象,我必須遍歷該對象才能獲取相關對象。 Knockout文檔顯示了一個非常相似的樣本,但我需要更復雜的視圖模型。有人能幫助我,並指出爲什麼這不起作用嗎?
感謝, 特里
這很好用 - 謝謝!我以爲我完全效仿了這個例子,但弄了兩個例子,感覺困惑,花了幾個小時旋轉我的車輪。非常感謝這個答案,現在我可以重新實現整個解決方案。我是一個新手去淘汰賽,所以我徘徊了一下。 –