2
也許我誤解了這是如何工作的。我想使用knockout.js來填充選擇元素選項。我使用下面的標記來實現這一目標:knockout.js沒有正確設置選項
<select data-bind="options: type_options, optionsText: function(item) {
return item.text;
}, optionsValue: function(item) {
return item.value;
}, optionsCaption:'Select a type...',
value: type">
下面是相關型號代碼:
var myModel = {
type: ko.observable(),
type_options: ko.observableArray([
{text: "String 1", value:1},
{text: "String 2", value:2},
{text: "String 3", value: 3},
{text: "String 4", value: 4},
{text: "String 5", value: 5}
]),
}
現在下拉正確呈現,所有正確的文本和值,但是當我選擇下拉菜單中的選項不會正確設置「類型」的值。
舉例來說,如果我選擇了標有「字符串4」的選項,並在瀏覽器中運行以下命令:
myModel.type()
我希望它返回值「4」。相反,我得到的對象全部對象:
Object
text: "String 4"
value: 4
__proto__: Object
我的問題是如何獲得淘汰賽設置類型的基於期權的價值屬性的值,而不是整個對象?
嗨,謝謝你的小提琴。我實際上使用視圖模型的json對象版本(請參閱上面我更新的代碼)。我嘗試將其更改爲函數形式,並發現左側和右側的問題,與此問題無關。你知道如何用JSON形式的視圖模型來做到這一點嗎? – aamiri
@aamiri我已經更新了小提琴使用對象viewModel方向。 – Rynan
我不知道爲什麼這不是爲我工作,但我重寫它,它的工作。我希望我知道它爲什麼不起作用,但感謝你的幫助。 – aamiri