我有一个选择框,我正在使用淘汰赛填充。一旦用户在表单上做了一些选择,我想将该选择框重置回其在optionsCaption
中设置的默认值。你会怎么做呢?我试图将它设置为空字符串,但这会留下用户选择的值。
这是我的代码:
<select data-bind="options: components, optionsValue: 'Component', optionsText: 'Component', optionsCaption: 'Choose Component', value: component"></select>
这是js:
self.components = ko.observableArray(["Component":"1234", "Component":"5678"]);
self.component = ko.observable();
我在另一部分尝试做的是:
self.component("");
然而,这似乎没有效果。
编辑:这是一个小提琴http://jsfiddle.net/BASY4/
答案 0 :(得分:24)
使用
self.component(null);
而不是
self.component("");
工作 jsfiddle。
只有在源列表(此处为self.components)中才允许使用其他值,否则会立即重置值绑定。
答案 1 :(得分:11)
根据您使用的knockoutjs版本,将更改此问题的答案。
如果你正在使用jsfiddle使用的版本 2.2.1 ,那么你将需要使用;
self.component(null);
// or
self.component(undefined);
如果您要将此版本更改为最新版本 2.3.0 ,那么您实际上可以使用;
self.component(null);
// or
self.component(undefined);
// OR
self.component('');