這是我當前的代碼是否可以在將optionsValue存儲在下拉列表中時顯示optionsText?
var model = function() {
this.nameSomething = ko.observable('');
this.nameId = ko.observable(0);
};
var vm = (function() {
var myList = [{ id: 1, type: 'foo1'}, { id: 2, type: 'foo2' }, { id: 3, type: 'foo3' }],
selectedModel = ko.observable(model);
return {
myList: myList,
selectedModel: selectedModel
};
}());
ko.applyBindings(vm);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<div data-bind="with: selectedModel">
<select data-bind="options: $root.myList,
optionsText: 'type',
optionsValue: 'type',
value: nameSomething"></select><br />
Display this: <span data-bind="text: nameSomething"><br />
Store this: <span data-bind="text: nameId"><br /> <!-- not displaying anything -->
<pre data-bind="text: ko.toJSON($root.selectedModel, null, 2)"></pre>
</div>
是否有可能在加載在nameId
的optionsValue
和optionsText
存儲nameSomething
/更改選項?
我的原因是我需要在UI中顯示所選的optionsText
,並在數據庫中存儲optionsValue
。
任何幫助將不勝感激。任何新的淘汰賽用戶的好指針也是受歡迎的。
編輯
包括一個fiddle
偉大的解決方案。沒有意識到這一點! – JotaBe
我明白了。我認爲「價值」的價值與「optionsValue」相同。是嗎? –
'optionsValue'是一個可選的鍵/功能,您可以使用它來確定選擇該選項時應選擇的「所選值」。默認情況下,您的「選定值」將成爲選取列表中的對象。 – CrimsonChris