2011-08-13 33 views
2

jquery-mobileサイトでjquery uiオートコンプリートを使用しています。私はサイトを直接開いている限り、問題なく動作しています。ajaxナビゲーションでサイドに移動すると機能しません。jquery-uiオートコンプリートin jquery-mobile

編集テスト可能な例:

<div data-role="page" data-theme="b" id="main" data-add-back-btn="true class="main""> 
<div data-role="content"> 
<input type="search" name="search" id="search" value="" /> 
</div> 
<script> 
$('#main').live('pagecreate',function(event, ui) { 
var availableTags = [ 
     "Testone", 
     "Testtwo", 
     "Testthree" 
    ]; 
$("#search").autocomplete({ 
    source: availableTags, 
    minLength: 2, 

}); 
}); 
</script> 
</div> 
+0

ただ、apache acces_logをチェックしました。ページに直接アクセスすると呼び出されます。サイトに移動して何かを入力すると、呼び出されません。 – grandh

+0

はい。また、私は関数で定義したソースとしてjavascript配列でテストしました。同じ結果で。だからsearch.phpを呼び出すことは問題ではありません。 – grandh

+0

はい、いつも解雇されます。警告メッセージでテストしました。私がサイトにナビゲートしていた場合、私は警告を複数回受け取る。 – grandh

答えて

0

私はオートコンプリートとjQMサイトを持っており、同様の問題を打つ:AJAX呼び出しは、常にページがしたかった時点で行われていなかったオートコンプリートオプションを移入するトリガーオートコンプリートコード自体を起動します。

これは、トリガーされているJavaScriptの性質に基づいています(つまり、非同期で、チャンスを取る...)。

これは私が知っている少しのハックですが、私はタイムアウトを追加しました(期間を実験する必要があります)。私のアプリでは、私のjQM $(document).bind("mobileinit"...コードの後に​​次のようなものがあります。

<script type="text/javascript"> 
    $(function(){ 
    // Horrible, but necessary 
    setTimeout(doAutoComplete, 2500); 
    }); 

    function doAutoComplete(){ 
    $("#YOUR_FIELD_ID").autocomplete({ 
    // Your ac code here… 
    }); 
    } 
</script> 
+0

ヒントはありがたいですが、問題は解決していません。 – grandh

関連する問題