jQuery UI自动完成刷新数据
我使用jQuery ui自动完成function。
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; }
当用户输入新颜色时,它将保存到颜色数组中。 我切换到自动完成表单,但在刷新页面之前输入的数据不可用。
任何想法如何使自动完成的新颜色可用?
更新颜色时,还需要更新自动完成使用的源 ,如下所示:
function addColor() { //add colors $('#empf').autocomplete("option", { source: colors }); }
这是一个示例演示 ,添加颜色并每秒更新一次自动完成源。
我尝试过Nick Craver的解决方案,看起来完全符合逻辑。 也许,这是因为我使用的是URL字符串而不是数组作为“源”。 不幸的是,他的解决方案没有为返回的ajax数据进行实时刷新。 为了刷新ajax数据源,我发现以下工作:
element.autocomplete("option","source",url); element.autocomplete("search");
我认为字符串或ajax URL源类型需要’search’方法。