1

サイトで複数のオートコンプリート ボックスを使用しています。ボックスは動的文字列配列で満たされているため、サーバーは使用していません。すべての情報はローカルです。これが私のコードの一部です:

<script>
var availableMaps = new Array();
var availableLayers = new Array();
var availablePlaces = new Array();
</script>

上記は私のインデックスページの上部にあります

<div class="ui-widget">
    <label for="mapTags">Search: </label>
    <input id="mapTags">
</div>

上記は私のインデックスページの本文にあります

for(var i = 0; i < mapContainer.length; i++)
{
    availableMaps[i] = mapContainer[i].name;
}
$( "#mapTags" ).autocomplete({
        source: availableMaps
});

このコードは、ページが読み込まれるとすぐに実行される js 関数内にあります。関数では実行されません$(document).ready。また、availableMaps 配列が文字列値でいっぱいになることもわかっています。

入力フィールドに文字または単語を入力すると、下矢印を押すと、オートコンプリートが機能しているかのように項目がフィールドに表示されるため、オートコンプリートはわずかに機能します。唯一の問題は、値を選択できる小さなドロップダウン メニューが表示されないことです。したがって、必要なのはドロップダウンメニューを表示することだけです。入力フィールドの下に他のコンテンツがあるため、ドロップダウン メニューが他のコンテンツの背後に隠れている可能性はありますか? ありそうにない。$(document).readyこれを関数に含める必要がありますか?

4

2 に答える 2

1

はい、jQuery がロードされていることを確認するため$("#mapTags").autocomplete...に、関数内にパーツを配置する必要があります。そうしないと、未定義になり、オートコンプリートが設定されません。$(document).ready$

于 2012-06-27T20:25:01.983 に答える
0

それでも気にする人のために、私は z-index を 100000000000 程度に増やす必要がありました。私より前にシステムの一部を書いた人は、どうやら非常に大きな z-index を持つように何かを設定していたようです。少なくとも今は、100 より大きい z-index を持つことができることを知っています。

ミケシニー

于 2012-11-14T21:47:06.950 に答える