Knockout.js 在下拉列表中选择标题和订阅选项

Knockout.js 在下拉列表中选择标题和订阅选项,knockout.js,Knockout.js,我有一个下拉列表,其中有一些状态,例如已交付、已取消、失败、正在进行。我使用drop-down来绑定使用knockout的值。下面是示例代码 <select id="ddlStatus" data-bind="options: status, optionsText: 'statusName', optionsValue: 'statusId', optionsCaption: '', value : $root.SelectedStatus"></select>

我有一个下拉列表,其中有一些状态,例如已交付、已取消、失败、正在进行。我使用drop-down来绑定使用knockout的值。下面是示例代码

<select id="ddlStatus" data-bind="options: status, optionsText: 'statusName', optionsValue:  'statusId', optionsCaption: '', value : $root.SelectedStatus"></select>

我希望optionsCaption默认为“status”集合的第一个选项。基本上,我希望状态中的第一个选项是默认选项,而不是下拉列表中的硬编码标题。我正在使用“订阅选定状态”,如果我不提供选项标题,它每次都会调用

默认行为 当knockout在视图中呈现选项时,它会尝试立即同步正确的选择:

ko.applyBindings({options:[1,2,3],selection:ko.observable(2)})


SelectedStatus
最初是
未定义的
。如果您没有
选项caption
,则将第一个选项设置为其值。因此,
subscribe
显然会被调用。请注意,此下拉列表位于网格中,我们将显示每行的下拉列表。即使我已经为每个下拉列表设置了选择,订阅代码也会被多次调用。订阅代码也可以从应用程序的其他部分触发。如果有初始选择,并且所选项目出现在选项数组中,
applyBindings
不会触发更改。你能分享一些代码来说明你仍然存在的问题吗?