自动完成并删除默认值

时间:2013-05-16 12:01:48

标签: jquery autocomplete

我想在输入框获得焦点时做两件事:

  • 自动填充(默认下拉列表)
  • 将默认值删除为

    $(".keywordbox > input").autocomplete({"source":"/nl/video/show-keywords/3", "maxLength" : "10" });
    $(".keywordbox > input").focus(function() {
        if ($(this).val() == $(this).prop("defaultValue")) {
            $(this).val('');
        }
        $(this).trigger('keydown.autocomplete');
    });
    

焦点上的自动完成功能正常,除非与

组合使用
 $(this).val('');

有什么建议让这项工作?

**编辑**

似乎自动完成功能不起作用,因为输入为空。即使没有占位符值设置。

我想要的是de autocomplete集合而不给出值,以便可以给出所有选项(不过滤)。

2 个答案:

答案 0 :(得分:0)

尝试改变

$(".keywordbox > input").focus(function() {

$(".keywordbox > input").keydown(function() {

但它是选择性的,您的问题可以尝试

if ($(this).val() == $(this).prop("defaultValue")) {
    $(this).val('');
    return false;
}

并且比将默认值添加占位符更好

<input placeholder="default value">

简直就是这样

$(".keywordbox > input").focus(function() {        
    $(this).trigger('keydown.autocomplete');
});

答案 1 :(得分:0)

解决方案很简单......添加以下代码

"minLength": "0"

然后它变成

$(".keywordbox > input").autocomplete(
     {
     "source":"/nl/video/show-keywords/3", 
     "maxLength" : "10", 
     "minLength": "0" 
 });