私のスクリプトでは、これがあります:
$('#divForm').load('../Reservation/Edit #EditReservation', function () {
$('#divForm').slideDown(500), function () { };
var viewModel = {};
var id = JSON.stringify(rowid);
$.post("/Reservation/JsonEdit", { jsonId: id }, function (data) {
var trueData = JSON.stringify(data);
alert(trueData);
viewModel.model = ko.mapping.fromJSON(trueData);
alert("chkpt1");
ko.applyBindings(viewModel);
alert("chkpt2");
});
});
このスクリプトは「chkpt1」まで実行され、実行されません: ko.applyBindings(viewModel); アラート("chkpt2");
私はこのcshtmlでこのスクリプトを使用しています:
<div id="EditReservation" >
<div data-bind="foreach: model.Room">
<div style="margin-right: 160px; float:left">
<div>
EMPLOYEE NUMBER:
<div>
<input type="text" data-bind="text: EmpNumber" /></div>
</div>
<div>
ROOM:
<div>
<input type="text" data-bind="text: Room" /></div>
</div>
<div>
DATE:
<div>
<input type="text" data-bind="text: Date" /></div>
</div>
</div>
<div style="margin-top: 40px;">
<div>
START TIME:
<div>
<input type="text" data-bind="text: StartTime" /></div>
</div>
<div>
END TIME:
<div>
<input type="text" data-bind="text: EndTime" /></div>
</div>
<div>
NOTES:
<div>
<input type="text" data-bind="text: Notes" /></div>
</div>
</div>
</div>
div EditReservation が表示されますが、フィールドは空です。
各フィールドのデータバインドは、適切にマップされたときに返された json データと一致するため、正しいと確信しています。
問題は、ko.applyBindings が実行されていないことです。そのため、ロード時にフィールドが空であると思います...
エラーは何ですか?