Adsense

martes, 5 de abril de 2011

Jqueryui autocomplete usando posten vez de get

Soy un completo ignorante en el tema de JQuery y decidí emplear el componente autocomplete de jqueryui.

El componente es súper sencillo de usar. Basta con unos breves comandos en jquery y el mismo hace una petición con una variable term pasada por get.

El problema está en eso mismo. Es un parámetro GET... cosa que puede incomodar a algunos novatos como YO que estamos desarrollando en frameworks como codeigniter que no usan el pase de valores por GET y activarlo trae mas desventajas que ventajas.

Así que una solución muy básica que descubrí luego de consultar alguito fue tan simple. Si hubiera estudiado un poco más jquery ni siquiera hubiera molestado a nadie preguntando.

Para consultar los valores en tu pagina destino empleando post, basta con usar el objeto post de jquery! XD.



 $(function() {
$("#empleado").autocomplete({
//parte 1
source: function( request, respond) {
//parte 2
$.post( "controlador/funcion", { term: request.term },
function( response ) {
// check response for validiy, etc
respond( response );
}, 'json' );
},
//parte 3
minLength: 3,
select: function(event, ui) {
$('#campo1').val(ui.item.id);
$('#campo2').val(ui.item.id);
$('#dataempleado').val(ui.item.descripcion);
}

});

});



En la primera parte se define que la fuente de los datos para el autocompletar será los resultados de la parte 2 que es el Post. De esta manera el parametro term va a ser una simple referencia que contendrá el valor a buscar. Ya el componente solito no manda hacer la consulta.

La tercera parte del código es para volcar los resultados una vez seleccionados... eso es de mi caso.

Jquery es una nota, pero para gente como yo que viene de instrucciones de iteración, condicionales, tiende a hacerse algo confuso...

Esta pagina me ayudo mucho.

Y este es el link que te explica jQuery.post().

No hay comentarios: