autocomplete
これは、の変更イベントで正常に機能するはずです。add
このコードは、リストに新しいアイテムを追加するときに表示されるIDのボタンがあることを前提としています。ユーザーがリストからアイテムを選択した場合は表示されません。いくつかの調整を行うことができますが、この概念実証により、次のことが可能になります。
var source = ["Apples", "Oranges", "Bananas"];
$(function () {
$("#auto").autocomplete({
source: function (request, response) {
response($.ui.autocomplete.filter(source, request.term));
},
change: function (event, ui) {
$("#add").toggle(!ui.item);
}
});
$("#add").on("click", function () {
source.push($("#auto").val());
$(this).hide();
});
});
次に例を示します:http://jsfiddle.net/rmGqB/
更新:要件を少し誤解したようです。オートコンプリートが候補リストに入力する結果を利用して、検索結果が完全に一致するかどうかに基づいてボタンの可視性を高めることもできます。
var source = ["Apples", "Oranges", "Bananas"];
$(function () {
$("#auto").autocomplete({
source: function (request, response) {
var result = $.ui.autocomplete.filter(source, request.term);
$("#add").toggle($.inArray(request.term, result) < 0);
response(result);
}
});
$("#add").on("click", function () {
source.push($("#auto").val());
$(this).hide();
});
});
例: http: //jsfiddle.net/VLLuJ/