Saltar al contenido

Fuente de cambio de autocompletado de JQuery

Solución:

Tratar

$('input[name="choice"]').click(function(){
    if(this.checked){
        if(this.value == "1"){
            $( "#autocomplete" ).autocomplete('option', 'source', availableTags1)
        } else {
            $( "#autocomplete" ).autocomplete('option', 'source', availableTags2)
        }
    }
})

Demostración: violín

Para cualquiera que lea esto en 2016 y más allá, existe una mejor manera de usar el request/response patrón. El autocompletado de jQuery tiene un source opción que acepta una función que recibirá dos argumentos cuando sea invocada por el complemento: request y response. request es un objeto que contiene información sobre el componente de autocompletar, a saber request.term que es el valor del campo de entrada. response es una función, que acepta un solo parámetro, los datos devueltos response(data). como puede ver en mi ejemplo a continuación, puede usar esta opción para facilitar una solicitud ajax. simplemente puede pasar el request funciona como la devolución de llamada exitosa a jQuery $.ajax métodos y funcionará según lo previsto. También puede hacer otras cosas interesantes con este patrón, como buscar en la memoria si ya ha obtenido y almacenado en caché algunos datos, lo que hace que las búsquedas posteriores sean más reales para los usuarios.

$('#term-search').autocomplete({
    source: function(request, response) {
        $.ajax({
            url: $('#api-endpoint').val(),//whether you are using radios, checkboxes, or selects, you can change the endpoint at runtime automatically
            dataType: "json",
            data: {
                query : request.term,//the value of the input is here
                language : $('#lang-type').val(), //you can even add extra parameters
                token : $('#csrf_token').val()
            },
            success: response //response is a callable accepting data parameter. no reason to wrap in anonymous function.
        });
    },
    minLength: 1,
    cacheLength: 0,
    select: function(event, ui) {} //do something with the selected option. refer to jquery ui autocomplete docs for more info
});
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *