一旦用户做出选择,我想清除具有Jquery Autocomplete的文本框。
我试图通过以下方式清除该字段:
select: function(event, ui) {
$(this).val('');
}
但这不起作用。我正在使用jquery-1.6.4和jquery-ui-1.8.16。
任何想法?
答案 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");
会在选择后隐藏所有自动填充过滤列表。