选择后,在Jquery自动填充中清除文本框

use*_*513 26 jquery jquery-ui autocomplete jquery-ui-autocomplete

我想在用户进行选择后清除具有Jquery Autocomplete的文本框.

我试图通过以下方式清除该字段:

select: function(event, ui) {
   $(this).val('');
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我正在使用jquery-1.6.4和jquery-ui-1.8.16.

有任何想法吗?

Fré*_*idi 54

选择的字段更新之前发生的事件.您必须取消该事件以避免在清除该字段后更新该字段:

select: function(event, ui) {
    $(this).val("");
    return false;
}
Run Code Online (Sandbox Code Playgroud)

更新:正如TJ在下面指出的那样,value直接更新DOM属性而不是通过val()会稍快一些:

select: function(event, ui) {
    this.value = "";
    return false;
}
Run Code Online (Sandbox Code Playgroud)

  • +1或者只是`this.value ="";`,如[他们的例子](http://jqueryui.com/demos/autocomplete/#multiple-remote). (6认同)

mac*_*ict 8

我正在使用 jQuery UI 版本 1.8.23,并且$(this).val("");on selectevent 对我不起作用,但是这确实有效:

$("selector").autocomplete({
    // ...
    close: function(el) {
        el.target.value = '';
    }
});
Run Code Online (Sandbox Code Playgroud)