我使用jQuery ui自动完成功能。
var colors;
$(document).ready(function(){
loadColors();
$('#empf').autocomplete(colors);
}
function loadColors(){
colors = new Array(getNumColor());
//in a loop save the colors to array using colors[i] = ...
}
function addColor(){
...
color[n] = color;
}
当用户输入新颜色时,它将保存到颜色数组中。我切换到自动填充表单,但在刷新页面之前输入的数据不可用。
如何为自动完成功能设置新的颜色?
答案 0 :(得分:23)
更新颜色时,您还需要更新source that autocomplete uses,如下所示:
function addColor() {
//add colors
$('#empf').autocomplete("option", { source: colors });
}
Here's a sample demo doing this,添加颜色并每秒更新一次自动完成源。
答案 1 :(得分:0)
我尝试过Nick Craver的解决方案,看起来完全符合逻辑。也许,这是因为我使用的是URL字符串而不是数组作为'来源'。不幸的是,他的解决方案不会为返回的ajax数据进行实时刷新。为了刷新ajax数据源,我发现以下工作:
element.autocomplete("option","source",url);
element.autocomplete("search");
我认为'搜索' string或ajax URL源类型需要method。