我正在使用jQuery Mobile来创建一个网站,在索引页中我在这里放置了一个表单进行搜索。我迷上了Ajax post的提交事件。当ajax成功获取放置在目标容器中的资源 (html,<ul>...</ul>
)后,触发创建事件以增强视图。这项工作第一次很好。当我点击回到索引页并再次搜索时,我得到了一个未加强的原始列表视图,谁能告诉我为什么? ps:我已经尝试了很多方法,但是问题越来越多,官方文件太差了。jquery移动触发器'创建'不工作,除了第一次
$(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(...'每次都是事件处理程序,并且链接到我们可以看到的版本很有帮助。 – Jasper