我有一个包含删除按钮的动态创建的网格。 在我的Jquery中,我对服务器进行Ajax调用,以从数据库中删除数据行。 如果成功,我想从表中删除该行。 然而,这是最后一部分;从表中删除不起作用的行。 你能明白这是为什么吗?
$(".deleteSor").click(function () {
var deleteUrl = GetHiddenField("msurvey-sor-delete-url");
var row = $(this).closest('tr');
var sorId = row.data("msurvey-sor-id");
var sorCode = row.data("msurvey-sor-code");
var briefDescription = row.data("msurvey-sor-brief-description");
var message = "Are you sure you want to delete this SOR: {0} - {1}?".format(sorCode, briefDescription);
if (confirm(message)) {
dataService.deleteSor(sorId, row, removeRow, deleteUrl);
}
});
var dataService = new function () {
$.ajaxSetup({
cache: false
});
var deleteSor = function(sorId, row, callback, url) {
$.get(url, { sorId: sorId }, function(data) {
callback(data, row);
});
};
return {
deleteSor: deleteSor
};
}();
var removeRow = function (data, row) {
if (data.Error) {
alert(data.ErrorMessage);
} else {
$("#message").text(data.SuccessMessage);
row.remove();
}
}
答案 0 :(得分:0)
我找到了解决方案。 虽然我使用的是按钮标签,但似乎还有一些跟随click事件的回发事件。 所以我用这段代码阻止了它;
$(".deleteSor").click(function (e) {
e.preventDefault();
...