在HTML选择的项目:观察到的()不更新选择按预期
<select id="Catagories_CategoryId" data-bind="options: CategoryServiceTypes,
optionsText: 'Name',
optionsCaption: 'Please select a Category...',
value: SelectedCategoryType">
</select>
在代码示例下面我刚删除在网格中的项目,所以通过LoadServiceTypesFromSvc()
obj.SelectedCategoryTypeHolder(obj.SelectedCategoryType()); //copy the old selected object
pager.LoadServiceTypesFromSvc(); //repop
ko.utils.arrayForEach(obj.CategoryServiceTypes(), function(data) {
if (data.CategoryId() == obj.SelectedCategoryTypeHolder().CategoryId()) {
obj.SelectedCategoryType(data);
alert('selected ' + obj.SelectedCategoryType().Name()); //shows the name of the item I'm aiming for
}
});
LoadServiceTypesFromSvc()
也重新填充选择。我想将selected selected值设置为数据刷新前的值。
即使警报确认obj.SelectedCategoryType()已设置为我想要设置的值 - 选择本身保持不变,并仍显示默认的“请选择...”第一项。
我错过了什么?
非常感谢
做返回的每一项块()'? – 2013-03-14 19:49:00
不,它是同步编辑:实际上我需要检查...好点! – 2013-03-14 20:00:51
它是async($ .ajax()),但它都发生在request.done() – 2013-03-14 20:06:07