以下是我的编辑和删除链接的生成方式
function getRecords(){
$.getJSON( "viewcustomers.php", function(data) {
var items = [];
var xTd = '';
var xTr = '';
$.each(data, function (key, val) {
var c=0;
var id=0;
$.each(val, function (key1, val1) {
if(c == 0) {
id = val1;
}
c++;
xTd += '<td>' + val1 + '</td>';
});
xTd += '<td><a href="customers.php?update='+id+'" id="update">Edit</a></td>';
xTd += '<td><a href="customers.php?delete='+id+'">Delete</a></td>';
xTr = '<tr>' + xTd + '</tr>';
items.push(xTr);
xTd = '';
xTr = '';
});
$("#records").append(items);
});
}
现在,您可以看到我在我的“编辑” URL中使用了id = update。
现在,在记录正确显示在我的页面上之后,当我单击编辑链接时,我试图运行代码。
// Update existing customer
$("#update").click(function(){
alert("working");
});
上面的代码不起作用。我已经尝试将其放置在document.ready内部以及外部,但是没有任何效果。
谁能告诉我这是怎么回事?
由于#update
元素是动态创建的,因此您需要使用事件委托将事件处理程序注册到这些元素。
当您用于$('#update').click(....);
注册事件处理程序时,它将仅将代码执行时在dom中已经存在的那些元素注册该句柄,在这种情况下,由于这些元素是在处理程序不会附加到该元素之后创建的,因此在这种情况下新创建的元素
试试这个
的HTML
<a href="customers.php?update='+id+'" class="urclassname">Edit</a>
脚本
$("#records").on('click', '.urclassname', function () {
alert("working");
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句