根据敲除文档,使用optionsCaption时,删除select元素中默认文本的方法是将其绑定到可观察对象,并将该值设置为未定义的值,例如
html:
<select id="category" data-bind="options: categoryTypes, value: categoryValue ... optionsCaption: categoryDefaultOptionText()"></select>
Javascript:
categoryDefaultOptionText("Please select"); //the value now displays in the select element with all categoryTypes.
...
...
...
categoryDefaultOptionText(undefined); //the default element is completely removed and only the categoryTypes are displayed.
我的问题是,在设置categoryDefaultOptionText(undefined);
时,没有从选择元素中删除默认文本。我已经在jsfiddle中对其进行了测试,它的工作原理使我相信还有其他问题。
应用程序的流程如下:
categoryValue("some value");
categoryDefaultOptionText(undefined);
人们希望它能起作用,但是仍然保留“请选择”。有什么想法吗?
更新:
我使用Java脚本检索select元素,并观察了它在调试时的变化。绝对会删除“请选择”选项,但是一旦页面完全加载后,组合框仍然具有“请选择”选项。是否有可能因为页面未完全加载而无法对其进行更改?
更新2: 我发现了问题。使用optionsCaption时,还有其他一些代码会干扰select元素的工作方式。我不确定该问题该怎么办,因为它很可能与其他任何人都无关(代码是不必要的重复调用)