【发布时间】:2016-12-29 13:22:48
【问题描述】:
这里是为了更好理解的上下文:
我的主页中有一个数据网格,每行都有一个按钮。当用户点击它时,它会通过 ajax jquery 加载另一个页面并在引导模式对话框中弹出它:
<script>
var sharedadminID = 0;
var alreadyloaded = 0;
...
function EditClick(args) {
var gridObj = $("#DetailsGrid").data("ejGrid");
var data = gridObj.getSelectedRecords()[0].ID;
sharedadminID = data;
$("#prdmodalbody").load("pages/modals/AddEditPRD.html");
}
</script>
AddEditPRD.html 页面的视图模型是这样定义的
<script>
var PRDVM = function () {
ID = ko.observable();
DESIGNATION = ko.observable();
PRIX = ko.observable();
loadproduct = function () {
alert("innerloadproduct2222");
jQuery.ajax({
url: "/Admin/GetProduct?i=" + sharedadminID,
success: function (html) {
ID = html.ID,
DESIGNATION = html.DESIGNATION,
PRIX = html.PRIX
},
async: false
});
}
loadproduct();
};
$(document).ready(function () {
if (alreadyloaded == 0) {
VM = new PRDVM();
ko.applyBindings(VM, document.getElementById("#prdmodalbody"));
alreadyloaded = 1;
}
else
VM.loadproduct();
});
</script>
当我第一次点击按钮时它会起作用,但在那之后就不行了。
控制台上没有错误,并且似乎没有触发 loadproduct 函数 除了第一次。
欢迎任何帮助
【问题讨论】:
标签: knockout.js viewmodel