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

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

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

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

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

有任何想法吗?

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

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

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

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

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

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

尝试

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

你也可以试试这个:

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

这将在选择后隐藏所有自动完成过滤列表。