jQuery Mobileを使用してサイトを作成していますが、インデックスページで検索用のフォームを配置しました。私はajax投稿のイベントを提出しました。 ajaxの成功により、ターゲットコンテナに配置された (html、<ul>...</ul>
)のリソースが得られたら、ビューを拡張するためにcreateイベントをトリガーします。これは初めての作業です。私がインデックスページに戻ってクリックして再度検索すると、強調表示されていない生のリストビューが得られます。誰がその理由を教えてくれますか? ps:私は多くの方法を試しましたが、ますます問題があり、公式文書はとても貧弱でした。jquery mobile trigger 'create'が最初以外のときに動作しない
$(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;
});
});
EDIT:試験URL:http://ijnu.sinaapp.com 別の問題:第二のAJAXリクエストが失敗し、ブラウザが真っ直ぐAjaxのターゲットに移動します。
あなたのサイトは単一のHTMLファイルですか?新しいページが初期化されるたびに、イベントハンドラが実行され、毎回 '$( '#search')。submit(...'イベントハンドラ)が再バインドされます。役に立った – Jasper