jqueryjquery-uijquery-autocomplete

jQuery UI autocomplete refresh data


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?


Solution

  • 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.