javascript - 当 $.removed 时自动完成不会 $.empty/comeback

标签 javascript jquery autocomplete

我在输入上有一个自动完成功能,旁边是一个选择元素。 当我触发$.autocomplete时一旦它创建了一个 HTML 列表 <lu ..><li ..></li></lu>如果我选择一个新选项,我不希望它再自动完成,直到我切换回来。

我可以使用 $.remove 删除该元素但如果我再次触发自动完成事件,它就不会回来。 我不能$.empty由于某种原因。

var array = ['this', 'that', 'bla', 'potato'];

$('.input').on('keyup', function() {
  if ($('.option').val() === 'this') {
    $('.input').autocomplete({
      source: array
    });
  } else {
    // Something that removes/deactivates the autocomplete.
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class='options'>
  <option value='this'>DoAutocomplete</option>
  <option value='that'>DoNotAutocomplete</option>
<select>

<input class='input' />

有人知道如何解决这个问题吗?

最佳答案

我认为这可能更容易检测下拉列表中所选选项的值,并使用 Taplars 对您的问题进行评论来根据所选值启用或禁用自动完成功能。我没有尝试您的代码,但我认为“keyup”检测是问题的一部分。

这是一个示例:JSFiddle

脚本:

$(document).ready(function() {
    var array = ['this', 'that', 'bla', 'potato'];

  $('#input').autocomplete({
            source: array
  });

  $('#select').on('change', function (e) {
        var selection = $("#select option:selected").val();

        if (selection == 'off') {
                $( "#input" ).autocomplete("disable");
        } else {
                $( "#input" ).autocomplete("enable");
        }
  });
});

HTML:

Toggle Autocomplete:
<select id='select'>
  <option value='on'>On</option>
  <option value='off'>Off</option>
</select><br><br>

<input id='input'>

关于javascript - 当 $.removed 时自动完成不会 $.empty/comeback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41021274/

相关文章:

javascript - 如何识别第 3 方 iframe 中的 Ajax 更新

javascript - 通过 Struts 2 操作类从数据库填充下拉列表(使用 jtable)

javascript - React 中的 componentDidUpdate 与 componentWillReceiveProps 用例

javascript - 以编程方式将 IE8 设置为隐私浏览模式

JavaScript Endian 编码?

javascript - 获取 Sharepoint 中文档的文档类型图标

javascript - Backbone 的 delegateEvents 在附加到 DOM 之前不会绑定(bind)事件

ios - 两个文本字段显示相同的 GMSPlace 自动完成

php - 如何使用 AJAX 调用 PHP 脚本来执行 jQuery 自动完成?

java - 使用 J2s [Auto complete ComboBox] 的 JTable 自动完成不工作