2012-04-30 18 views
1

私はhttp://docs.jquery.com/UI/Dialoghttp://docs.jquery.com/UI/AutocompleteをJQuery 1.7.2とJQuery-UI 1.8.18で使用しています。JQuery:ダイアログでオートコンプリートが発生しない

通常のようにページに読み込まれたときにオートコンプリートを発生させるテキストボックスを持つフォームがあります。素敵でシンプルです!

(function() { 

    jQuery(function($) { 
    return $("#type").autocomplete({ 
     source: "/auto-suggest/supplies", 
     minLength: 2 
    }); 
    }); 

}).call(this); 

フォームをダイアログでレンダリングされる場合は、オートコンプリートが火(無UIの変更、およびサーバはソースURLへのアクセス何を示していない)しません。私はこれは、入力フィールドがドキュメントの読み込み時にレンダリングされていないためだと仮定しています。だから、私はダイアログのcreateイベントを使ってオートコンプリートを割り当てようとしましたが、その関数にコールバックとして渡します。繰り返しますが、オートコンプリートは起動しません。

これを動作させる方法について私は神秘的です。ダイアログを作成してドキュメントの読み込みを非表示にしたいのですが、この例ではテーブルのデータに関連するダイアログがいくつか存在する可能性があります。

これに関するお手伝いをさせていただきます。

答えて

3

open eventを使用してみてください得ることができます - これにより、DOM要素が確実に準備されます。

$(".selector").bind("dialogopen", function(event, ui) { 
    $("#type").autocomplete({ 
     source: "/auto-suggest/supplies", 
     minLength: 2 
    }); 
}); 
1

あなたも成功コールダイアログで、値と

$.get('/auto-suggest/supplies', function(data) { 
    //call dialog here 
}); 
関連する問題