使jquery自动完成不使用所选项的标签填充输入值

时间:2011-04-12 07:58:44

标签: jquery autocomplete

有没有办法让jquery自动完成插件只响应“select”回调,而不是在用户选择后用所选项目的标签值填充目标输入?

我正在努力,但仍然没有成功,等待帮助...

的问候。 拉里

5 个答案:

答案 0 :(得分:11)

我知道这是一个老问题,但是对于那些不想使用setTimeout函数的人来说,解决方法是将属性ui.item.value更改为“”

<强>代码

$('#ac').autocomplete({
    source : ["hello", "how", "do", "you", "do"],
    select: function(event, ui){
        if (ui.item && ui.item.value){
            ui.item.value="";
        } 
    }
})

答案 1 :(得分:1)

尝试以下代码;)

$('#ac').autocomplete({
    source : ["hello", "how", "do", "you", "do"],
    close: function(event, ui){
          $('#ac').val('');
    }
});

答案 2 :(得分:0)

这是一种更简单的方法(使用experimentX的代码):

$('#ac').autocomplete({
    source : ["hello", "how", "do", "you", "do"],
    select: function(event, ui){
        $('#ac').css('color','white');    
    }
})

答案 3 :(得分:0)

如果您的源数组是具有“label”和“value”属性的对象数组,则插件会为您处理此问题。

请参阅this link

$('#autocomplete').autocomplete({
    source: [
      {
        label: 'This is a descriptive label'
        , value: 'Just the value'
      }
      ,{
        label: '2 is better than one'
        , value: '2'}
      ,{
        label: 'third times the charm'
        , value:'Three'
      }
    ]
  })
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.js"></script>
<input type='text' id='autocomplete'>  

SO的代码片段不喜欢它,但它可以正常工作

答案 4 :(得分:-1)

DEMO ON JS FIDDLE

$('#ac').autocomplete({
    source : ["hello", "how", "do", "you", "do"],
    select: function(event, ui){
        setTimeout(function (){
          $('#ac').val('');    
        }, 1000)
    }
})