我正在进行ajax调用。在那个ajax调用中,我将json传递给服务器。当用户点击删除按钮时会发生这种情况。因此,在删除之前我正在创建一个Jquery UI对话框。在那,我问用户他是否肯定删除。
现在,我的问题是当用户点击时我无法捕捉到该事件。我在jquery对话框中单击是或否时指定变量ok以具有值。但问题是我在检查是否(ok == 1)在用户点击是或否之前首先调用。因此,无论如何,如果用户单击是或否,则不会发生ajax调用。
该功能都在不同的脚本文件中。
执行ajax调用的函数是 -
$("#delete")
.click(
function() {
var sendData = {};
deleteClicked = 1;
var passedJSON = null;
if (null != selectedRowData) { // if the id in table is not null
if (null != selectedRowId) {
console.log("ID exists --> " + newId);
if (rowclickable == 1 ) { //checking whether row should be deleted or not
var testDate = $("#FromDate").val();
sendData["FromDateStr"] = testDate;
console.log(sendData);
passedJSON = JSON.stringify(sendData);
console.log(passedJSON);
ok = showModalBoxForDelete(ok); // calling the modal box and storing the value
console.log(ok);
if (ok == 1) {
$
.ajax({
type: "POST",
cache: false,
url: deleteURL,
data: passedJSON,
dataType: "json",
cache: false,
async: "true",
contentType: "application/json",
success: function(
data) {
if (1 == data.responseCode) {
$(
"#FromDate,delete")
.attr(
"disabled",
"disabled");
$("#FromDate").datepicker("disable");
table.ajax.reload(null, false); // To load the table
showModalBoxForSuccessfulUpdate("The Goal is Deleted");
} else {
alert(data.responseMessage);
}
},
error: function(data) {
console.log("Server Failure");
}
});
}
}
}
}
调用模态框的函数是 -
function showModalBoxForDelete(ok){
$("#modelView").dialog({
autoOpen : false,
modal : true,
draggable: false,
buttons : [ {
text : "Yes",
icons : {
primary : "ui-icon-heart"
},
click : function() {
var ok = 1;
$(this).dialog("close");
return ok;
}
}, {
text : "No",
icons : {
primary : "ui-icon-heart"
},
click : function() {
$(this).dialog("close");
console.log("Retaining the page...");
}
} ]
});
$("#modelView" ).dialog("open");
$("#modelView").text("This will delete the goal. Do you still want to continue?");
return ok;
}
此处检查if (ok == 1)
的行导致问题,因为它会在用户点击是或否之前运行。
我无法理解现在该做什么。有人可以帮忙吗?