Knockout.js (KnockoutJS)如何重置select语句

Knockout.js (KnockoutJS)如何重置select语句,knockout.js,Knockout.js,我用KnockoutJS填充了select选项 HTML的相关部分: <label>Gender:</label> <select data-bind="options: gender, value: selectedGender, optionsText: 'gender'"></select> 然后,我在模式关闭图标中添加了点击事件数据绑定。所有可观察到的数据都被清除,除了我试图清除的上面的select: self.selectedGend

我用KnockoutJS填充了select选项

HTML的相关部分:

<label>Gender:</label> 
<select data-bind="options: gender, value: selectedGender, optionsText: 'gender'"></select>
然后,我在模式关闭图标中添加了点击事件数据绑定。所有可观察到的数据都被清除,除了我试图清除的上面的select:

self.selectedGender("");

有没有线索说明为什么不将其设置为空值?

您的选择控件是在没有“selectedValue”绑定的情况下设置的,因此默认情况下,整个选项对象将存储在“SelectedEnder”可观察对象中。因此,当您尝试选择空字符串值时,选择控件不知道如何将其转换为数组中的一个选项对象


如果添加
选项value:“gender”
绑定,则它知道使用gender observative中的字符串值比较值,而不是将整个对象相互比较。

向绑定添加
选项value:“gender”
只会使用于选择的可观察值未被选中(传递空的选择值)@JackTheKnife这不是你想要的吗?也许我误解了你的问题我的代码-我可以选择女性中的男性并传递正确的值,但关闭后我无法重置为默认状态。添加你的建议并选择女性中的男性根本不起作用-传递任何选择的空值。@JackTheKnife这里有一个n示例中没有模式,但选择和清除按钮起作用。@JackTheKnife则根本不需要计算。提交SelectedEnder而不是SelectedEnderval
self.selectedGender("");