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

时间:2012-07-23 07:13:02

标签: jquery jquery-ui autocomplete jquery-ui-autocomplete

一旦用户做出选择,我想清除具有Jquery Autocomplete的文本框。

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

select: function(event, ui) {
   $(this).val('');
}

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

任何想法?

4 个答案:

答案 0 :(得分:52)

select事件发生在字段更新之前。您必须取消该事件,以避免在清除该字段后更新该字段:

select: function(event, ui) {
    $(this).val("");
    return false;
}

更新:作为T.J.下面指出,直接更新value DOM属性而不是通过val()更快一点:

select: function(event, ui) {
    this.value = "";
    return false;
}

答案 1 :(得分:3)

我正在使用jQuery UI版本1.8.23和$(this).val(""); select事件对我来说没有用,但是这样做了:

$("selector").autocomplete({
    // ...
    close: function(el) {
        el.target.value = '';
    }
});

答案 2 :(得分:1)

尝试

select: function(event, ui) {
input.value='';
}

答案 3 :(得分:0)

你也可以试试这个:

$("#your_autocomplete_sub_listview_id").children().addClass("ui-screen-hidden");

会在选择后隐藏所有自动填充过滤列表。