Jquery 剑道格网的问题。确认消息未更新
我正在使用剑道网格列出用户数据。发现了一个问题。当用户单击“删除”按钮时,会出现一条验证消息,说明“您是要删除的用户吗,用户Joe Blow”。如果我单击“取消”,并尝试其他用户“Sally Smith”,则错误消息将是“您是要删除的用户吗,用户Joe Blow”。我检查了函数,正确的数据进入函数 我在Chrome debugger中查看了代码,发现错误消息是从上的代码返回的: 我确实有一个将值重置为“”的函数。但是,当数据进入kendo.all.js时,它不会得到更新。当数据到达那里时,我如何重置数据 这是我的按钮代码:Jquery 剑道格网的问题。确认消息未更新,jquery,kendo-ui,kendo-grid,Jquery,Kendo Ui,Kendo Grid,我正在使用剑道网格列出用户数据。发现了一个问题。当用户单击“删除”按钮时,会出现一条验证消息,说明“您是要删除的用户吗,用户Joe Blow”。如果我单击“取消”,并尝试其他用户“Sally Smith”,则错误消息将是“您是要删除的用户吗,用户Joe Blow”。我检查了函数,正确的数据进入函数 我在Chrome debugger中查看了代码,发现错误消息是从上的代码返回的: 我确实有一个将值重置为“”的函数。但是,当数据进入kendo.all.js时,它不会得到更新。当数据到达那里时,我如何
template: '<button class="btn btn-danger btn-sm" onclick="confirmDelete(\'#=ExternalId#\', \'#=FirstName#\', \'#=LastName#\', \'#=EmailAddress#\')" style="padding: .25rem;">X</button>',
模板:“X”,
以下是我的删除功能代码:
var confirmDelete = function (eid, firstN, lastN, emailA) {
var dialog = $("#delete-confirm-modal");
externalId = eid;
firstName = firstN;
lastName = lastN;
emailAddress = emailA;
if (dialog.data("kendoDialog")) {
dialog.data("kendoDialog").open();
} else {
dialog.kendoDialog({
width: "450px",
title: "Confirm delete",
closable: true,
modal: true,
content: "<p>Confirm that you wish to delete user " + firstName + " " + lastName + "(" + emailAddress + "). Once this is done, it cannot be reversed.</p>",
actions: [
{
text: "Cancel",
primary: true
}, {
text: "Confirm",
action: function (e) {
var url = "/apic/usermaintenance/deleteuser/" + externalId;
$.get(url,
function (data) {
//$("#userListGrid").data("kendoGrid").dataSource.read;
//$("#userListGrid").data("kendoGrid").refresh();
/*$('#userListGrid').data('kendoGrid').dataSource.read().then(function () {
$('#userListGrid').data('kendoGrid').refresh();
});*/
KendoGridRefresh();
kendo.alert("User has been deleted");
}).fail(function () {
kendo.alert("Unable to delete user. An error has occured. Please try again.");
});
}
}
],
close: onClose
});
}
};
var confirmDelete=函数(eid、firstN、lastN、emailA){
var对话框=$(“#删除确认模式”);
externalId=eid;
firstName=firstN;
lastName=lastN;
emailAddress=emailA;
if(dialog.data(“kendoDialog”)){
dialog.data(“kendoDialog”).open();
}否则{
dialog.kendoDialog({
宽度:“450px”,
标题:“确认删除”,
closable:是的,
莫代尔:是的,
内容:“确认您希望删除用户“+firstName+”“+lastName+”(“+emailAddress+”)。一旦删除,将无法撤消。”,
行动:[
{
文本:“取消”,
小学:对
}, {
文本:“确认”,
行动:职能(e){
var url=“/apic/usermaintenance/deleteuser/”+externalId;
$.get(url,
功能(数据){
//$(“#userListGrid”).data(“kendoGrid”).dataSource.read;
//$(“#userListGrid”).data(“kendoGrid”).refresh();
/*$('#userListGrid').data('kendoGrid').dataSource.read().then(函数(){
$('#userListGrid').data('kendoGrid').refresh();
});*/
KendoGridRefresh();
剑道警报(“用户已被删除”);
}).fail(函数(){
kendo.alert(“无法删除用户。发生错误。请重试”);
});
}
}
],
关闭:onClose
});
}
};
第一次单击时,您正在初始化对话框;第二次单击时,您正在使用旧内容打开已初始化的对话框
您需要更新对话框的内容:
if (dialog.data("kendoDialog")) {
dialog.data("kendoDialog").content("<p>Confirm that you wish to delete user " + firstName + " " + lastName + "(" + emailAddress + "). Once this is done, it cannot be reversed.</p>");
dialog.data("kendoDialog").open();
}
if(dialog.data(“kendoDialog”)){
dialog.data(“kendoDialog”).content(“确认您要删除用户“+firstName+”+lastName+”(“+emailAddress+”)”)。一旦完成此操作,将无法撤消。”;
dialog.data(“kendoDialog”).open();
}
示例:我在您的示例中遇到了一个错误。但是,我做了以下编辑,效果很好:dialog.data(“kendoDialog”).content(确认您希望删除用户“+firstName+”+“+lastName+”(“+emailAddress+”)”)。一旦完成,就无法恢复。”;哦,是的,对话框只是jquery元素的一个实例,我编辑了答案。现在该工作了