Jörn Zaeffererによって書かれたオートコンプリートjqueryプラグインを使用しており、有効なオプションが入力されたことを確認しようとしています。JQueryオートコンプリートは選択された値を確認します
プラグインには、選択時に発生するresult()イベントがあります。これはOKですが、ユーザーがクリックしたときにテキストボックスの値を確認する必要があります。したがって、.change()と.blur()イベントを試しましたが、両方とも問題があります。結果のdiv( 'suggest'リスト)のエントリをクリックすると、.change()と.blurイベントが発生し、これはプラグインがテキストボックスに値を書き込む前であるため、この時点で確認するものはありません。
誰かがクリックするたびにイベントを設定するのに役立つかもしれませんが、結果ボックスには表示されません。ボックス内の有効な値を確認できます。これが間違ったアプローチであれば、正しいものを私に知らせてください。もともと、このプラグインは 'mustMatch'オプションのために行っていました。このオプションは、すべての場合に機能するとは限りません。有効なエントリがテキストボックスに書き込まれ、プラグインによって無効であるとクリアされることが多いため、私は理由を特定できませんでした。
Basicのコード例は:
<html>
<head>
<title>Choose Favorite</title>
<script language="JavaScript" src="jquery-1.3.2.min.js" ></script>
<script language="JavaScript" src="jquery.autocomplete.min.js" ></script>
<script>
$(".suggest").autocomplete("fetchNames.asp", {
matchContains:false,
minChars:1,
autoFill:false,
mustMatch:false,
cacheLength:20,
max:20
});
$(".suggest").result(function(event, data, formatted) {
var u = this;
// Check value here
});
/* OR */
$(".suggest").change(function(me) {
//check value here
});
</script>
</head>
<body>
<label for="tbxName">Select name (I show 10):</label><br />
<INPUT type="text" id="tbxName" name="tbxName" class="suggest"><br />
</body>
</html>
私はつまり http://stackoverflow.com/questions/4952094/jquery-ui-autocomplete-only-allow-selected-valued-from-suggested-list –
ビクター によってここに最良の答えを見つけましたまともな解決策。私は次回この機能が必要な時にそれを試さなければならないでしょう。 – Brettski
参照してください:http://stackoverflow.com/questions/1267149/how-to-detect-when-user-ignores-jquery-autocomplete-suggestions –