【发布时间】:2012-11-25 21:59:55
【问题描述】:
这是 jquery 的一个相当奇怪的问题。我正在加载一个 div
<div id="container">
在页面加载时。每条记录都是表格数据,并带有与之关联的“删除”ajax 函数。当页面加载并单击“删除”链接时,ajax 调用就会很好地触发。 但是,一旦触发事件,就会从 ajax 调用返回数据,并且 div 会填充数据(但页面不会刷新或重新加载) 当我再次单击该链接时,ajax 脚本将不会触发。 这是我的代码:
$(document).ready(function() {
$("button.done").button({
}).click(function() {
var BatchID = $("input#BatchID").val();
var Amount = $("input#Amount").val();
var Name = $("input#CheckName").val();
var Check_Number = $("input#Check_Number").val();
var Company = $("select#Company").val();
var Department = $("select#Department").val();
$.ajax({
type: 'GET',
url: '/app/usagCheckEntryWS.html',
data: {
"BatchID" : BatchID,
"Amount" : Amount,
"Name" : Name,
"Check_Number" : Check_Number,
"Company" : Company,
"Department" : Department
},
success: function (data) {
var ang = '';
var obj = $.parseJSON(data);
$.each(obj, function() {
ang += '<table><tr><td width="45">' + this["RefID"] + '</td><td width="140">' + this["Name"] + '</td><td width="95">' + this["CheckNumber"] + '</td><td align="right" width="70">$' + this["Amount"] + '</td><td width="220" style="padding-left: 15px;">' + this["Description"] + '</td><td><div class="delete" rel="' + this["RefID"] + '"><span>Delete</span></div></td></tr></table>';
});
$('#container').html(ang);
$("input#Amount").val('');
$("input#CheckName").val('');
$("input#Check_Number").val('');
$("select#Company").val('MMS');
$("th#dept").hide();
$('input#CheckName').focus();
}
});
});
});
【问题讨论】:
-
控制台会说什么吗?
-
您是否删除了包含其余数据的删除链接,然后重新附加它?
-
没有 chrome 开发工具,不显示任何事件触发。
-
我没有看到你在哪里绑定删除处理程序。
-
另见stackoverflow.com/a/18144022的优秀答案
标签: javascript jquery html dom-events