次のコードを使用すると、奇妙な問題が発生します。クリックして showVacationModal データを呼び出すと、サーバーからデータが正常に取得され、結果が正しく表示されます。同じ人(ID)をクリックし続けると、引き続き機能します。
休暇なしで別の人 (たとえば、別の ID) をクリックすると、何も表示されません = OK。
問題
最初の人をもう一度クリックしても、何も表示されません。(データは ajax 呼び出しで正常に取得されます)。
何か案は?
私のJSコード:
var ViewModel = function () {
this.vacations = ko.mapping.fromJS(null);
};
var model = new ViewModel();
function showVacationModal(id) {
var model = {};
$.ajax({
type: "POST",
url: "Default.aspx/GetVacations",
data: "{personId: '" + id + "'}",
delay: 1,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
model.vacations = ko.mapping.fromJS(msg.d);
ko.applyBindings(model);
$('#vacationModal').modal('show')
}
});
}
私のHTML:
<table>
<thead>
<tr>
<th>
First name
</th>
<th>
Last name
</th>
</tr>
</thead>
<tbody data-bind="foreach: vacations">
<tr>
<td data-bind="text: Id">
</td>
<td data-bind="text: PersonId">
</td>
<td data-bind="text: Begin">
</td>
</tr>
</tbody>
</table>