再会,
我一直在为这段特殊的代码苦苦挣扎。我从 JQuery 和 Stackoverflow 阅读并尝试过的所有内容。主要问题是所有答案基本上(我能找到)解决已经生成的 HTML 或静态页面。
我的删除代码(如下),无论是注释的还是未注释的,都可以在使用静态 html 列表创建的页面上完美运行。
$(function () {
//$(".deleteButton").click(function () {
// //$(this).closest("li").remove();
// jQuery(this).closest('li').fadeOut(400, function () { $(this).remove(); });
//});
$('.deleteButton').on({
click: function () {
jQuery(this).closest('li').fadeOut(400, function () { $(this).remove(); });
}
});
});
但是,一旦我使用 jQuery 添加另一个“li”标签,删除按钮只会删除删除按钮中的文本,而页面上会留下“li”。
这是我用来添加“li”的代码
function UpDatePage() {
$.ajax({
type: 'GET', url: "NewAdditions", contentType: "application/json", processData: false,
success: function (data) {
data = JSON.parse(data);
for (var key in data) {
$('.dlList').append(data[key]);
}
setTimeout(UpDatePage, 5000);
}, dataType: "text"
});
}
data[key] 是这样的
'<li class="ui-state-default dlItem" id={0}><table><tr><td style="width:50%"><input type="submit" value="{1}" id={2} onclick="Resume(this.id); return false"/> \
<input type="submit" class="deleteButton" value="Delete" id=del-{2} onclick="Delete(this.id); return false" /> \
<label>{3}</label></td> \
<td style="width:10%; text-align:center" id=per-{2}>{4}</td> \
<td style="width:5%; text-align:center" id=tfs-{2}>{5}</td> \
<td style="width:6%; text-align:center" id=est-{2}>{6}</td> \
<td style="width:5%; text-align:center">{7}</td> \
<td style="width:10%; text-align:center">{8}</td></tr></table></li>'
我真的被这个困住了。我已经浏览了这方面的多个链接,阅读了 jQuery 文本并尝试了许多不同的代码排列。
希望有人可以在这里帮助我或指出我正确的方向。
背景:我使用python和cherrypy作为我的后端,使用mako作为模板。我只是为了完整起见而提到这一点,因为我非常怀疑他们正在创建我在页面已经加载时遇到的问题。
谢谢