1

Joern Zaefferer による jQuery Autocomplete プラグイン 1.1 を使用しています。

すべてがコード上で正常に動作します。

ただし、ドキュメントは不足しています。href リンクを使用してオートコンプリートを「オン」または「オフ」にする方法を見つけるのを手伝ってくれる人が必要です。

unautocomplete() 関数は何らかの方法で無効にする必要があるようですが、正しく呼び出す方法がわかりません。

これを使用して、ページが読み込まれたときにアクティブにします。

$().ready(function() {
  $("#term").autocomplete("autocomplete.php", {
    width: 260,
    matchContains: true,
    noCache: true,
    minChars: <?php echo $auto_char; ?>,
    selectFirst: false
  });
});

私が行ったことは、返された結果の最後に「提案を非表示」リンクを追加し、ユーザーがクリックしたときにオートコンプリートを無効にしようとしています。

4

2 に答える 2

2

HTML が次のようになっているとします。

<input type="text" id="term" />
...
<button id="hide">Hide suggestions</button>

この方法を呼び出して、要素$.unautocompleteを無効にすることができます。#term

$(document).ready(function(){
  $("#hide").click(function(){
    $("#term").unautocomplete();
  });
});

または、これを使用してすべてのオートコンプリートを無効にできると思います。

$(document).ready(function(){
  $("#hide").click(function(){
    $(":input").unautocomplete();
  });
});

また、AutoComplete プラグインの最新バージョンにアップグレードすることもできます。

于 2012-05-19T21:59:16.680 に答える
0

これは、jQuery UI autocomplete plugin の 1.1 リリースでは利用できなかったことを知っておく必要があります。バグだったようです。1.8.3 jQuery UI リリースで修正されました。

しかし、古いバージョンの jQuery UI も使用していません。以下をお読みください...

投稿したコードから判断すると、Joern Zaefferer によって書かれた非推奨の 1.1 リリースを使用しています。このプラグインはほぼ 2 年前に廃止されました。古いプラグインへのリンクには、移行の課題を解決するための参考文献があります。

オートコンプリート プラグインが jQuery UI の一部になり、バージョン 1.8.20 になりました! jQuery UI の最新バージョンにアップグレードし、代わりにそのオートコンプリート プラグインを使用することを強くお勧めします。

その後、ドキュメントは、オートコンプリートが最初にバインドされたセレクターで次のメソッドを呼び出すことにより、オートコンプリートを無効にできることを示しています。

$( ".selector" ).autocomplete({ disabled: true });

基本的に、長い間アップグレードされていないものを使用していることに注意してください。新しいブラウザーが登場すると、コードのアップグレードが非常に難しくなります。したがって、アップグレードによって基本的に 2 つの利点が得られます。最新のバグ修正と見つけやすいドキュメントをすべて備えた最新バージョンを使用し、オートコンプリートを無効にすることができます。

于 2012-05-19T21:52:57.327 に答える