elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Jquery y autocomplete .. muestra contenido de tbl pero no filtra. ayuda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Jquery y autocomplete .. muestra contenido de tbl pero no filtra. ayuda  (Leído 3,870 veces)
Hadess_inf
Desesperado
Colaborador
***
Desconectado Desconectado

Mensajes: 2.048


Nueva Vida


Ver Perfil WWW
Jquery y autocomplete .. muestra contenido de tbl pero no filtra. ayuda
« en: 20 Octubre 2012, 14:55 pm »

Buen día, haber si alquilen me puede ayudar con el aucomplete de Jquery que ya me tiene loco ....

Pues tengo una tabla que tiene la siguiente estructura

Código
  1. CREATE TABLE vehiculo_color
  2. (
  3.  idcolor serial NOT NULL,
  4.  color CHARACTER VARYING(30),
  5.  CONSTRAINT vehiculo_color_pk PRIMARY KEY (idcolor)
  6. )

En una pagina lst_color.php tengo el codigo siguiente que muestra el resultado:

Código
  1. <?
  2. // codigo que conecta a bd y almacena todo en un array para luego mostrarlo
  3. print json_encode($fetch_query);
  4. ?>

El resultado de eso es lo siguiente:

Código
  1. [{"idcolor":"6","color":"AMARILLO"},{"idcolor":"3","color":"AZUL"},{"idcolor":"2","color":"BLANCO"},{"idcolor":"4","color":"NEGRO"},{"idcolor":"7","color":"PLOMO"},{"idcolor":"8","color":"PLOMO \/ BLANCO"},{"idcolor":"5","color":"ROJO"},{"idcolor":"1","color":"VERDE"}]

Ahora en la pagina que deseo filtrar tengo el siguiente código:

Código
  1.    .ui-autocomplete-loading {
  2.        background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat;
  3.    }
  4.    </style>
  5.    <script>
  6.    $(function() {
  7.        function log( message ) {
  8.            $( "<div>" ).text( message ).prependTo( "#log" );
  9.            $( "#log" ).scrollTop( 0 );
  10.        }
  11.  
  12.        $( "#birds" ).autocomplete({
  13. source: function( request, response ) {
  14. $.ajax({
  15. url: "lst_color.php",
  16. dataType: "json",
  17. data: {
  18. featureClass: "P",
  19. style: "full",
  20. maxRows: 12,
  21. name_startsWith: request.term
  22. },
  23. success: function( data ) {
  24. response( $.map( data, function( item ) {
  25. return {
  26. label: item.idcolor + " , " + (item.color),
  27. value: item.color
  28. }
  29. }));
  30. }
  31. });
  32. },
  33.            minLength: 2,
  34.            select: function( event, ui ) {
  35.                log( ui.item ?
  36.                    "Selected: " + ui.item.color + " aka " + ui.item.idcolor :
  37.                    "Nothing selected, input was " + this.value );
  38.            }
  39.        });
  40.    });
  41.    </script>
  42.  
  43. <div class="ui-widget">
  44.    <label for="birds">Birds: </label>
  45.    <input id="birds" />
  46. </div>
  47.  
  48. <div class="ui-widget" style="margin-top: 2em; font-family: Arial;">
  49.    Result:
  50.    <div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div>
  51. </div>

Esta es la imagen del autocomplete funcionando.


Pues bien el problema es que como se darán cuenta en la imagen si bien esta listando el contenido de la tabla no esta haciendo el filtro correspondiente, en la imagen el texto dice AMARILLO sin embargo el autocomplete muestra todo y no "amarillo" como se supone que debería ser.

Espero sus comentarios.
Gracias desde ya.
Saludos.


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Jquery y autocomplete .. muestra contenido de tbl pero no filtra. ayuda
« Respuesta #1 en: 26 Octubre 2012, 10:53 am »

Hola, un poco tarde pero..

Nunca habia usado el widget autocomplete de jQuery UI pero he deducido una cosilla a partir de los datos que da Firebug.



Parece ser que si usas una función (por tanto no un array) con el autocomplete de jQuery UI debes filtrar tu mismo el resultado.

Luego me he leído un poco de su api y parece es así..

Function: The third variation, a callback, provides the most flexibility and can be used to connect any data source to Autocomplete. The callback gets two arguments:

  • A request object, with a single term property, which refers to the value currently in the text input. For example, if the user enters "new yo" in a city field, the Autocomplete term will equal "new yo".
  • A response callback, which expects a single argument: the data to suggest to the user. This data should be filtered based on the provided term, and can be in any of the formats described above for simple local data. It's important when providing a custom source callback to handle errors during the request. You must always call the response callback even if you encounter an error. This ensures that the widget always has the correct state.

Por tanto, deduzco que deberías crear tu propia función de autocompletado o en su defecto pasar el json a un array normal que el autocomplete de jQuery UI pueda tratar solito xD.

Saludos


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
jquery cambio dinamico contenido con PHP
PHP
Carlosnuel 4 7,006 Último mensaje 13 Diciembre 2009, 02:30 am
por Carlosnuel
Se filtra un vídeo que muestra como funciona Voice Search ¿en Android .....
Noticias
wolfbcn 0 1,969 Último mensaje 3 Diciembre 2010, 01:40 am
por wolfbcn
[Aporte]jShowOff: Un Plugin para jQuery para Rotar Contenido
Desarrollo Web
AFelipeTrujillo 0 3,624 Último mensaje 16 Febrero 2011, 18:54 pm
por AFelipeTrujillo
Autocomplete Dinamico con Jquery, PHP y MySQL
PHP
Devilboy.Devil 7 18,192 Último mensaje 8 Junio 2011, 10:32 am
por Kase
ayuda con check box en jquery
PHP
landerzx 0 2,157 Último mensaje 15 Diciembre 2012, 16:20 pm
por landerzx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines