以下は、ドロップダウン リストと、バインディングをチェックするための追加の要素です。
<select data-bind =
"options: chains,
optionsText: function (item) { return item.BusinessModel['Name'] },
optionsCaption: 'Select...',
value: selectedChain">
</select>
<div data-bind = "text: selectedChain().Id"></div>
viewModel と初期化は次のようになります。
function ViewModel() {
this.chains = null;
this.selectedChain = ko.observable();
}
$.ajax({
url: "@Url.Action("Chains", "GetAll")",
success: function (result) {
var model = new ViewModel();
model.chains = result;
model.selectedChain(result[0]); // Why?
ko.applyBindings(model);
}
});
コンボボックスでoptionsCaption
(" Select... ") が選択されると、バインディングは機能しなくなります (参照要素の古い値/新しい値のセットはリセットされません)。これが、を初期化する必要がある理由selectedChain
です。selectedValue への設定に何か問題があるように思えますnull
か?!
誰かが私が間違っていることを教えてもらえますか?