jQuery UI 自动完成刷新数据

发布于 2024-10-11 20:41:01 字数 424 浏览 1 评论 0原文

我使用 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;
}

当用户输入新颜色时,它将保存到颜色数组中。我切换到自动完成表单,但输入的数据在刷新页面之前才可用。

有什么想法如何使新颜色可用于自动完成吗?

I use jQuery ui autocomplete feature.

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;
}

When the user enters new color it is saved to the color array. I switch to the autocomplete form but the entered data is not aviable until I refresh the page.

Any ideas how to make the new color avialable for autocomplete?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笑饮青盏花 2024-10-18 20:41:01

更新颜色时,还需要更新自动完成使用的源,像这样:

function addColor() {
    // Update colors.
    $('#empf').autocomplete("setOptions", { source: colors });

    // Try "option" for older versions (if "setOptions" does not work).
}

这是一个执行此操作的示例演示,添加颜色并更新自动完成源一次一秒钟。

When you update the color, you need to also update the source that autocomplete uses, like this:

function addColor() {
    // Update colors.
    $('#empf').autocomplete("setOptions", { source: colors });

    // Try "option" for older versions (if "setOptions" does not work).
}

Here's a sample demo doing this, adding a color and updating the autocomplete source once a second.

等你爱我 2024-10-18 20:41:01

我尝试过尼克·克拉弗的解决方案,它看起来完全合乎逻辑。也许,这是因为我使用 URL 字符串而不是数组作为“源”。不幸的是,他的解决方案不会对返回的 ajax 数据进行实时刷新。为了刷新 ajax 数据源,我发现以下方法有效:

element.autocomplete("option","source",url);
element.autocomplete("search");

我认为字符串或 ajax URL 源类型需要“搜索”方法。

I've tried Nick Craver's solution, which looks completely logical. Maybe, it is because I am using a URL string rather than an array as the 'source'. Unfortunately his solution does not do a live refresh for the ajax data returned. In order to refresh an ajax data source, I found that the following works:

element.autocomplete("option","source",url);
element.autocomplete("search");

I think the 'search' method is required for string or ajax URL source types.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文