【问题标题】:Set jQuery Autocomplete on Textbox KeyDown Event在文本框 KeyDown 事件上设置 jQuery 自动完成
【发布时间】:2014-11-08 21:31:48
【问题描述】:

我想在文本框按键事件中使用 jQuery 自动完成

我试过下面的代码,但它不起作用。

$("#txtName").keyDown({
    $("#txtName").autocomplete({
        source: '@Url.Action("GetAllName", "Home")',
        select: function (event, ui) {
            $("#txtName").val(ui.item.value);
            return false;
        }
    });
});

【问题讨论】:

  • 我认为$("#txtName").autocomplete() 就足够了,不需要keyDown
  • MVC 动作是什么样的?
  • 您只是希望它在第一次击键时开始搜索?尝试使用minLength: 1
  • @SandipPingle $("#txtName").autocomplete() 正在工作。但是我想要这样的功能,当我第一次单击文本框并按下键时,所有结果都应该出现
  • @AshleyMedway 我在这里使用 Url.Action。所以 Home 是我的控制器,GetAllName 是 ActionName

标签: javascript jquery jquery-autocomplete


【解决方案1】:

您不需要 keyDown 事件,否则您将在每次按键时重新绑定自动完成功能。

$("#txtName").autocomplete({
    source: '@Url.Action("GetAllName", "Home")',
    select: function (event, ui) {
        $("#txtName").val(ui.item.value);
        return false;
    }
});

要在输入一个字符时显示所有结果,请添加minLength: 1

如果您想要在文本框获得焦点时显示所有项目,那么这就是您要查找的内容:https://stackoverflow.com/a/4604300/1398425

【讨论】:

  • 我已经浏览了给定 url 中的代码。这就是我想做的。现在它工作正常。
【解决方案2】:

如果您只是希望它在第一次击键时开始搜索,请尝试使用minLength: 1

$("#txtName").autocomplete({
    source: '@Url.Action("GetAllName", "Home")',
    minLength: 1,
    select: function (event, ui) {
        $("#txtName").val(ui.item.value);
        return false;
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多