这是我当前的代码是否可以在将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