私はKnockoutJSを使用してユーザーのリストを表示しています。同じページで、リンクがシャドウボックスのモーダルウィンドウをトリガします。ユーザーがモーダルを閉じると、ユーザーのリストを更新する必要があります。私はすでにShadowboxモーダルトリガーからコールバック関数を持っていますが、それをユーザーのリストをリフレッシュする方法はありますか?knockoutJS - 他のjavascript関数からテーブルを再バインド
function User(data) {
this.firstname = ko.observable(data.firstname);
this.lastname = ko.observable(data.lastname);
this.fullname = ko.computed(function() {
return this.firstname() + " " + this.lastname();
}, this);
this.userfunctions = ko.observable(data.userfunctions);
this.phonework = ko.observable(data.phonework);
this.phonemobile = ko.observable(data.phonemobile);
this.email = ko.observable(data.email);
this.editurl = ko.observable(data.editurl);
}
function UserListViewModel() {
var self = this;
self.users = ko.observableArray([]);
self.users.loading = ko.observable(false);
self.users.loading(true);
$.getJSON("/UserJSON.ashx", {
requestType: "userList",
pageId: '12',
companyId: '1'
},
function (allData) {
var mappedUsers = $.map(allData, function (item) { return new User(item); });
self.users(mappedUsers);
self.users.loading(false);
});
}
ko.applyBindings(new UserListViewModel());
モーダルウィンドウ内で、既にエントリを追加しているのですか?また、変更する場合は、self.users内の実際のインスタンスまたは新しいUserオブジェクトを変更してから、自分の確認後にself.users内のインスタンスを置き換えていますか?ところで、私はあなたがユーザーのリストをリフレッシュすることを意図していると仮定します.UserJSON.ashxに戻る必要はありません。 – Rich