2011-02-03 20 views
1

が凝縮されたソースコードです:なぜjQueryオートコンプリートがポップアップしないのですか?ここで

<html> 
    <head> 
     <script type="text/javascript" src="/admin/jsi18n/"></script> 
     <link href="/media/css/ui-lightness/jquery-ui-1.8.9.custom.css" type="text/css" media="screen" rel="stylesheet" /> 
     <script type="text/javascript" src="/media/admin/js/core.js"></script> 
     <script type="text/javascript" src="/media/admin/js/admin/RelatedObjectLookups.js"></script> 
     <script type="text/javascript" src="/media/admin/js/jquery.min.js"></script> 
     <script type="text/javascript" src="/media/admin/js/jquery.init.js"></script> 
     <script type="text/javascript" src="/media/admin/js/actions.min.js"></script> 
     <script type="text/javascript" src="/media/js/jquery-1.4.4.min.js"></script> 
     <script type="text/javascript" src="/media/js/jquery.autocomplete.pack.js"></script> 
    </head> 
    <body> 
     <div> 
      <label for="id_postal_code" class="required">Postal code:</label> 
      <input type="text" name="postal_code" id="id_postal_code" /> 
      <script>$('#id_postal_code').autocomplete({source:['one','two','three']});</script> 
     </div> 
    </body> 
</html> 

私は、テキストボックスに「O」を入力しようとしているが、何も表示されません。

これは、入力にこのautocomplete='off'属性とclass='ac_input'を追加していますので...それは正しく初期化しているように見えるものが表示されない理由、私は知りません。

もし私がfirefoxのソースコードを見ると、それはac_inputもキーを押すたびに点滅するので、何か入力するたびにクラスを設定しているようですが、オートコンプリートは決して "on"に切り替わりませんそれはある時点ですべきだと思いますか?)。あなたのDOMはまだ準備ができていないように見えます

$(function() { 
    // your code here... 
}); 

+0

$( '#id_postal_code')は必要ありません。autocomplete({source:['one'、 'two'、 'three']}); $(document).ready()で囲まれていますか? – Gazler

+0

@Gazler:要素の後ろに置く必要はないと思った。要素がロードされていることを確認する必要があります。 – mpen

答えて

1

{source:['one','two','three']}['one','two','three']に置き換えてください。

+0

何が一体?これは彼らの例が示すものではありませんが(http://jqueryui.com/demos/autocomplete/)、今はうまくいくようです。なぜそれが...(あなたに感謝しますか?) – mpen

+0

私はオートコンプリートにも問題はありませんでした。しかし、この解決法は私のためには機能しませんでした。実際には状況が悪化しました。 'source'プロパティが定義されていないため、ランタイムエラーが発生しました。私の場合は、まだドキュメントフローに入れられていないjQuery要素を強化していますが、それは問題のようです。要素をDOMに挿入するまでエンハンスメントを遅らせることで、動作させることができました。しかし、単にこのような配列を渡すだけでは、私にとってはうまくいきません。 –

+0

@Ates:ちょっと考えました....私は間違ったバージョンのオートコンプリートを読み込んでいました! bassistance.deの古いものを使っていましたが、jQuery UIの新しいものを使っていました。それらは両方ともJSフォルダにあります:\ – mpen

2

はあなたの呼び出しをラップします。

+0

いいえ、それを '$(function {){$( 'id_postal_code')。autocomplete({source '[' one '、' two '、' three ']);});'に変更し、差。 – mpen

2

あなたは二回のjQueryを初期化 - 管理者/ jquery.min.jsとJSを/ jqueryの - 1.4.4.js

はそれを固定してください。

+0

Djangoはそのうちの1つを追加しますが、 'noConflict'を設定するので、2つのコピーを持つことができます。 – mpen

0

上記の解決方法またはhereがこの問題を解決しない場合は、ul.ui-autocomplete要素のページマークアップを確認し、z-indexを確認してください。私の場合、プラグインは正常に動作していましたが、要素は正しく配置されていましたが、z-インデックスはバンプする必要がありました。

関連する問題