【发布时间】:2011-10-26 18:02:45
【问题描述】:
我正在尝试使用 AJAX 更新我的数据库中的单个记录。一切正常,但是当返回结果时,它看起来很好,但是如果再次单击 a.update(对于返回的元素)我打开了 href(所以第二次 attr() 对某些人不起作用原因)。我对 jQuery 和 ajax 很陌生 :)
// Update Single Item
$('li a.update').click(function () {
updateURL = $(this).attr("href");
$(this).attr("href", "#");
theContainer = $(this).parents('li');
$.ajax({
type: "GET",
dataType: 'json',
url: updateURL,
async: false,
success: function(data){
theContainer.replaceWith(data.html).fadeIn(300);
}
});
return false;
});
附言List 元素是用 PHP 生成的。当我请求单个 <li> 元素时,我使用完全相同的模板生成它(默认情况下,所有内容都使用 foreach 循环打印,之后 AJAX 请求返回带有 <li>...</li> 的 JSON)
【问题讨论】:
-
似乎您正在替换 html,因此处理程序在此之后消失了。您可能想尝试现场直播或其他方法。你能举一个小例子来说明你想用 html 完成什么吗?