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()
また、選択を再入力しました。選択した選択値をデータ更新前の値に設定したい。
アラートはobj.SelectedCategoryType()が設定したいものに設定されていることを確認しますが、select自体は変更されず、デフォルトの「PleaseSelect...」の最初の項目が表示されます。
私は何が欠けていますか?
どうもありがとう