javascript - JQuery UI 自动完成 : Response, Ctrl + A 和 Backspace

标签 javascript jquery jquery-ui jquery-events jquery-ui-autocomplete

我正在制作一个表单来将成员添加到项目中。仅可添加其个人资料已记录在系统中的成员。有一个名称输入字段和一个位置选择框。位置选择框默认处于禁用状态。

想法:

  • 用户输入名称,将出现自动完成下拉列表。下拉列表包含其个人资料记录在系统中的成员的姓名。

  • 用户在下拉列表中选择一个名称,位置选择框将取消禁用。

  • 如果此后用户对名称输入字段进行任何更改,位置选择框将再次禁用,并且自动完成下拉列表将再次出现。

我将禁用的事件放入自动完成的响应事件中。

问题:当我将 Backspace 放入输入字段时,位置选择框被禁用,但是当我输入 Ctrl + A 时,则退格键,不是。我该如何解决这个问题?

$("#autocomplete").autocomplete({
    source: function(request, response) {
        //some ajax stuffs
    }, 
    select: function (e, ui) {
        $('#verified').val('true'); //the name is already recorded 
        $('#selectPosition').removeAttr('disabled');
    },
    response: function(event, ui) {
        if($('#verified').val() == 'true') {
            $('#verified').val('');
            $('#selectPosition').attr('disabled','disabled');
        }
    }
})

最佳答案

当输入框中发生更改时,会触发 .change() 方法。 当焦点移出输入框时,会检测到此更改。 无论如何进行更改,它都会起作用 - 无论您使用退格键删除一个或多个字符,还是使用 Ctrl + A 选择整个文本并使用退格键将其删除。 当您将焦点移出输入框时,该事件将触发。

关于javascript - JQuery UI 自动完成 : Response, Ctrl + A 和 Backspace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33780783/

相关文章:

javascript - Lightbox2 标题中的按钮未触发单击事件

Javascript 计时器不正确

javascript - 等效于 Javascript 中的 jQuery 代码

fiddle 更新后 JavaScript 和 jQuery 无法工作

jQuery UI - 更改按钮颜色

Javascript 二维数组

javascript - Qunit 使用 ember-simple-auth 身份验证测试 Ember.js 应用程序?

JavaScript - 处理 'this' 指针和自定义参数的最佳方法

jquery - jQuery 对话框上 RegisterClientScriptBlock 调用时出现错误

javascript - 在 React 组件中使用 index.html 中包含的脚本