Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Problema con autocomplete de Jquery

Estas en el tema de Problema con autocomplete de Jquery en el foro de Jquery en Foros del Web. Buenas comunidad: Creo este thread ya que me encuentro con un problema con la función autocomplete de Jquery. El problema consiste en que no "interpreta" ...
  #1 (permalink)  
Antiguo 15/08/2014, 06:06
 
Fecha de Ingreso: agosto-2012
Mensajes: 7
Antigüedad: 11 años, 9 meses
Puntos: 0
Problema con autocomplete de Jquery

Buenas comunidad:

Creo este thread ya que me encuentro con un problema con la función autocomplete de Jquery. El problema consiste en que no "interpreta" correctamente los datos que recibe como respuesta, mostrandolos de manera errónea.

Una imagen del problema:




Para una mayor claridad y comodidad, dejaré el código comprometido...

HTML

Código:
<script>
// Autocompletado
$(function() {  

    $("#reservausuario").autocomplete({
            source: function(request, response) {
                $.ajax({
                  url: "showagenda/getUsers",
                  data: {identificador: $('#reservausuario').val()},
                  type: "POST",
                  success: function(data){
                  	$('#resultado').html(data);
                      response(data);
                  }
                });
              },
              select: function(event, ui) {
                  
              }
      });
});  

</script>

De donde obtiene los datos (únicamente dejaré el conjunto de código que genera los datos para la respuesta)

Código:
$users = array();
		# Le damos formato para el autocompletado
		foreach ($listuser as $user){
   			$users[]=array('label'=> $user->nombre, 'value'=> $user->nombre);
  		}

  		echo json_encode($users);


Desde ya, muchas gracias.
  #2 (permalink)  
Antiguo 15/08/2014, 07:04
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Problema con autocomplete de Jquery

El problema proviene del servidor.

En PHP, a la hora de codificar objetos en JSON, se traspasan todos valores string a unicode (UTF-8). Para evitar este comportamiento debes utilizar la bandera JSON_UNESCAPED_UNICODE (añadida en la versión 5.4):

Código PHP:
Ver original
  1. echo json_encode($users, JSON_UNESCAPED_UNICODE);

Saludos
  #3 (permalink)  
Antiguo 15/08/2014, 07:29
 
Fecha de Ingreso: agosto-2012
Mensajes: 7
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Problema con autocomplete de Jquery

Primero que nada, gracias por responder.

Con respecto a la problematica, mi versión de PHP es 5.3.10, por ende no se encuentra definida la constante JSON_UNESCAPED_UNICODE. Además, el inconveniente principal es como muestra los datos en la "solapa" gris (Tal vez no quedó tan claro en la imagen); fijate que muestra un carácter debajo del otro... ¿Eso también se soluciona corrigiendo la codificación?

Imagen:


Desde ya, gracias.

Última edición por elmaty93; 15/08/2014 a las 07:35
  #4 (permalink)  
Antiguo 15/08/2014, 11:00
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Problema con autocomplete de Jquery

Hace unos meses publiqué un ejemplo de algo similar a lo que buscas hacer. Puedes echarle un vistazo aquí.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 15/08/2014, 11:32
 
Fecha de Ingreso: agosto-2012
Mensajes: 7
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Problema con autocomplete de Jquery

Gracias, ya lo pude solucionar =)

Etiquetas: ajax, html, javascript, js, php, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:07.