これはautocomplete
の変更イベントで問題なく動作します。このコードでは、新しいアイテムをリストに追加するときに表示されるidがadd
のボタンがあると想定しています。ユーザーがリストからアイテムを選択した場合は表示されません。そこ行うことができ、いくつかの調整がありますが、この概念の証明は、それを可能にする必要があります。
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/
あなたはkeyUpイベントを使用することができませんでしたか? – j08691
ここで 'change'が動作します。それは、人が入力を停止し、フィールドからナビゲートした後のタイムアウトを含む。それを使用しようとしたときにどんな問題が発生しましたか? –