【发布时间】:2012-05-01 14:51:42
【问题描述】:
我正在使用 jQuery Mobile 创建一个站点,在索引页面中我在这里放置了一个用于搜索的表单。我为 ajax 帖子挂钩了提交事件。当ajax成功获取资源时
(html,<ul>...</ul>),放置在目标容器中,然后触发create事件来增强视图。这在第一次工作得很好。当我点击返回索引页面并再次搜索时,我得到了一个没有增强的原始列表视图,谁能告诉我为什么? ps:我尝试了很多方法,但问题越来越多,官方文档太差了。
$(document).bind('pageinit',function(){
$("#search").submit(function(){
var searchdata = $("#search").serialize();
$.ajax({
'type':"POST",
'url':"/server/jnulib.php?action=search",
'data':searchdata,
'success':function(data){
$("#searchresultfield > ul").remove();
$("#searchresultfield").html(data).find('ul').trigger('create');
try{
$("#searchresultfield > ul").listview('refresh');
}catch(e){
}
$.mobile.changePage("#searchresult");
//$("div[data-role='header'] > a").
}
});
return false;
});
});
编辑:测试网址:http://ijnu.sinaapp.com 另一个问题:第二个ajax请求失败,浏览器直接导航到ajax目标。
【问题讨论】:
-
您的网站是单个 HTML 文件吗?如果不是,则每次初始化新页面时,您的事件处理程序都会运行,每次都重新绑定
$('#search').submit(...事件处理程序。我们可以看到的版本的链接也会有所帮助。
标签: javascript jquery ajax jquery-mobile