我希望能够在从下拉列表中选择值后模糊字段。我目前在焦点上搜索自动完成项目。
这就是我所拥有的:
$("#season").autocomplete({
source: function( request, response ) {
$.getJSON( "search.asp", {
term: request.term,
type: 'season'
}, response );},
minLength: 0
}).focus(function(event, ui){
$(this).autocomplete("search","");
});
答案 0 :(得分:10)
您可以使用'close'方法在输入字段上调用模糊:
$("#season").autocomplete({
source: function(request, response){
$.getJSON("search.asp", {
term: request.term,
type: 'season'
}, response);
},
minLength: 0,
close: function(){
$(this).blur();
}}).focus(function(event, ui){
$(this).autocomplete("search", "");
});
答案 1 :(得分:1)
自动填充功能有一个select事件,当您从下拉列表中选择某些内容时会触发该事件。在那种情况下,您可以在输入上调用.autocomplete('close')来关闭下拉列表。
$("#season").autocomplete({
source: function(request, response){
$.getJSON("search.asp", {
term: request.term,
type: 'season'
}, response);
},
minLength: 0,
select: function(){
$(this).autocomplete('close');
}
}).focus(function(event, ui){
$(this).autocomplete("search", "");
});
熟悉文档会产生奇迹:)
http://jqueryui.com/demos/autocomplete/
示例下方的选项卡(选项,事件,方法等)将为您提供所需的一切。
编辑:
试试这个,对我有用,但我只在Chrome,FF3和IE8中测试过。
$("#season").autocomplete({
source: function(request, response){
$.getJSON("search.asp", {
term: request.term,
type: 'season'
}, response);
},
minLength: 0,
select: function(){
$('#season').autocomplete('close').blur();
}
}).click(function(event, ui){
$(this).autocomplete("search", "");
});
通常,使用点击代替焦点不是一个好主意。
答案 2 :(得分:0)
为我找到了解决方案。你必须触发模糊并关闭“改变”。
$("#season").autocomplete({
source: function( request, response ) {
$.getJSON( "search.asp", {
term: request.term,
type: 'season'
}, response );},
minLength: 0,
change: function (event, ui) {
$(this).autocomplete('close').blur();
}
}).focus(function(event, ui){
$(this).autocomplete("search","");
});