0
   var options = {
       select: function(event,ui) {

         searchIndex = $.inArray(ui.item.value, arrayA)
   },
   source: function(req, response) {
        var re = $.ui.autocomplete.escapeRegex(reg, term);
        var matcher = new RegExp("^" + re + "i");
        response($.grep(arrayA, function(item, index) {
        return matcher.test(item);
    })); 
  }

};

上記のオートコンプリートオプションを前提として、配列リスト(arrayA)にリストされていないが、Enterキーを入力した後に入力テキスト領域に入力されたテキストを取得するにはどうすればよいですか?

  <input type=text id="searchAText" />
4

1 に答える 1

0

はい、これは古いトピックです。しかし、リスト外の値を見つける必要もありました。

select イベントの代わりに change イベントを使用すると成功し、ui.item が null かどうか、値が $(this).val() にあるかどうかを確認しました。

したがって、あなたの場合、次のようになります。

change: function(event,ui) {
    if (ui.item == null)
    searchIndex = $.inArray($(this).val(), arrayA);
    else
    searchIndex = $.inArray(ui.item.value, arrayA);
},
于 2021-03-03T09:36:25.723 に答える