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) 中列出但在输入回车键后在输入文本区域中键入的文本?

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

1 回答 1

0

是的,这是老话题了。但我也需要找出列表之外的值。

当我使用更改事件而不是选择事件时,我成功了,并检查了 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 回答