我正在使用带有json数据源的jquery自动完成。
这是我的代码: clientId,clientName是输入字段的id。
$("#clientId").autocomplete({
source: function(request, response){
var clientId=request.term;
$.ajax({
type:"GET",
url:"getClients.htm?ClientId=" + clientId +"&ClientName=",
dataType:"json",
success: function(data){
if(pageCountClientId == 0){
data.push({clientId:"More Options",clientName:"More Options"});
pageCountClientId++;
}
else{
data.push({clientId:"Previous Options",clientName:"Previous Options"});
pageCountClientId++;
}
response($.map(data,function(value,key){
return{
label:value.clientId,
value:value.clientName
};
}));
}
});
},
minLength: 1,
select: function(event, ui){
if(ui.item.value == "More Options"){
pageCountClientId++;
}
else if(ui.item.value == "Previous Options"){
pageCountClientId--;
}
else{
$("#clientName").val(ui.item.value);
$("#clientId").val(ui.item.label);
$("#clientName").attr("disabled", "disabled");
$("#clientId").attr("disabled", "disabled");
}
return false;
},
});
现在,当用户点击“更多选项”值时,在select事件中我想获得下一组结果并将其显示在显示的下拉列表中。如何实现它。任何指向正确的方向都将受到赞赏。
答案 0 :(得分:1)
我认为这应该是从search
处理程序调用{{1}}的问题。但是,您可能已经发现,这不起作用quite right。
您应该可以通过添加一个小超时来使其工作:
select
示例: http://jsfiddle.net/fTFkY/2/
该示例使用本地源但模拟AJAX请求。希望这有帮助!