Foros del Web » Programando para Internet » Jquery »

Resaltar en negritas Autocomplete Jquery

Estas en el tema de Resaltar en negritas Autocomplete Jquery en el foro de Jquery en Foros del Web. Tengo problemas con un autocomplete de jquery, la funcion es esta: Código: (function($) { $( "#tags" ).autocomplete({ source: "tags2.php", autoFocus: true, selectFirst: true, typeAhead: true, ...
  #1 (permalink)  
Antiguo 21/02/2013, 02:58
Avatar de Pentaxeros  
Fecha de Ingreso: mayo-2008
Mensajes: 173
Antigüedad: 16 años
Puntos: 3
Resaltar en negritas Autocomplete Jquery

Tengo problemas con un autocomplete de jquery, la funcion es esta:

Código:
(function($) {
		$( "#tags" ).autocomplete({
			source: "tags2.php",
			 autoFocus: true,
			 selectFirst: true,
			 typeAhead: true,
			 minChars: 0,
			 minLength:0,
			 autoFocus: true,
			 select:function(e,u) { 
				var option_selected = u.item.value;
				$(this).autocomplete('search', option_selected);
			}
  			  			
		}).keyup(function() {
    var isValid = false;
    for (i in validOptions) {
        if (validOptions[i].toLowerCase().match(this.value.toLowerCase())) {
            isValid = true;
        }
    }
	valoractual=this.value;
	if (valoractual.length<previousValue.length)
	{
		previousValue = this.value;
	} else 
	{
		if (!isValid) {
			this.value = previousValue
		} else {
			previousValue = this.value;
		}
	}
	
}).blur(function(){
	
    $(this).autocomplete('enable');
})
.focus(function () {
	if (this.value=="Categorias...") this.value='';
    $(this).autocomplete('search', this.value);
});
Lo que quiero es que los resultados se resalte en negrita lo que coincida con la busqueda.
digamos que si en campo escribo:

os

en los resultados quiero que salga esto por ejemplo:
perros
gatos
canarios
elefantes


Las negritas las pongo yo desde los resultados que se generan en source, desde tags2.php

Pero mi problema es que me sale asi:
perr<b>os</b>
gat<b>os</b>
canari<b>os</b>
elefantes

Es como si no interpretara las negritas...

Yo de jquery no domino mucho, lo hago todo a base de probar y buscar, pero en esto me estoy atrancando mas de lo normal.

Alguna idea???

Saludos y GRACIAS!
  #2 (permalink)  
Antiguo 21/02/2013, 03:44
Avatar de Pentaxeros  
Fecha de Ingreso: mayo-2008
Mensajes: 173
Antigüedad: 16 años
Puntos: 3
Respuesta: Resaltar en negritas Autocomplete Jquery

he conseguido que "medio" funcione, pero no va bien.

He añadido esto:
Código:
.data( "autocomplete" )._renderItem = function( ul, item ) {
			return $( "<li></li>" )
				.data( "item.autocomplete", item )
				.append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
				.appendTo( ul );
		};
Pero me pasa esto
cuando busco:
as
aparece esto:
compras
undefined
empresas
undefined

Alguna idea???

Saludos!!!
  #3 (permalink)  
Antiguo 21/02/2013, 04:08
Avatar de Pentaxeros  
Fecha de Ingreso: mayo-2008
Mensajes: 173
Antigüedad: 16 años
Puntos: 3
Respuesta: Resaltar en negritas Autocomplete Jquery

Hola, acabo de ver cual puede ser el problema.

He visto que en mi función PHP que devuelve el resultado me devuelve esto:

["compr<b>as<\/b>","empres<b>as<\/b>"]

Para generar la lista de palabras y poner la negrita uso esto:
$listaetiquetas[]=str_replace ($busqueda,'<b>'.$busqueda.'</b>',$valor);

y luego lo retorno con esto:
echo json_encode($listaetiquetas);

El fallo puede ser esto "<\/b>"????

Alguna idea?

Etiquetas: negritas, resaltar
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 21:31.