Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Buscar texto dentro de la misma pagina

Estas en el tema de Buscar texto dentro de la misma pagina en el foro de Frameworks JS en Foros del Web. Estoy buscando la forma de hacer un buscador de palabras dentro de una misma pagina, quiero hacer, más o menos, lo mismo que hace el ...
  #1 (permalink)  
Antiguo 10/12/2010, 05:59
Avatar de Freakme  
Fecha de Ingreso: julio-2007
Ubicación: Portugalete
Mensajes: 97
Antigüedad: 16 años, 9 meses
Puntos: 0
Buscar texto dentro de la misma pagina

Estoy buscando la forma de hacer un buscador de palabras dentro de una misma pagina, quiero hacer, más o menos, lo mismo que hace el buscador cuando le damos a ctrl+f
He encontrado dos posibles códigos, el problema es que se bastante poco de jquery y no consigo encontrar cómo ponerlos en marcha para que cojan de un input text el texto que tienen que buscar, ¿¿alguien puede echarme un cable??
Gracias.

Uno de los códigos que he encontrado es este:

Código:
$("div:contains('León')").css("font-weight", "bold");
Y el otro es este:

Código:
$.fn.egrep = function(pat) {
 var out = [];
 var textNodes = function(n) {
  if (n.nodeType == Node.TEXT_NODE) {
   var t = typeof pat == 'string' ?
    n.nodeValue.indexOf(pat) != -1 :
    pat.test(n.nodeValue);
   if (t) {
    out.push(n.parentNode);
   }
  }
  else {
   $.each(n.childNodes, function(a, b) {
    textNodes(b);
   });
  }
 };
 this.each(function() {
  textNodes(this);
 });
 return out;
};

var anietos = $('body').egrep(/anieto2k/i);
for (var x in anietos) {
	anietos[x].css("backgroundColor", "yellow");
}
el segundo codigo está sacado de aquí: http://www.anieto2k.com/2008/10/13/6...er-con-jquery/

un saludo
  #2 (permalink)  
Antiguo 10/12/2010, 13:51
Avatar de echoTREBOR  
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela inc.
Mensajes: 56
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Buscar texto dentro de la misma pagina

intenta pasando el valor del input al selector.
algo así

//html
<input type="text" id="campo">

//jQuery
(function($){
var valor=$("#campo").val()

$("div:contains("'"+valor+"'")").css("font-weight", "bold");

})(jQuery)
  #3 (permalink)  
Antiguo 11/12/2010, 13:20
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Buscar texto dentro de la misma pagina

Exacto, puedes tener algo asi;
Código HTML:
Ver original
  1. <form method="POST" action="" name="form">
  2. <input type="text" name="campo">
  3. <input type="submit" name="enviar" value="Enviar">
  4. </form>

Y en el JS;
Código Javascript:
Ver original
  1. $('form[name=form]').submit(function() {
  2.     busqueda = $('[name=campo]').val();
  3.     $("div:contains('"+busqueda+"')").css("font-weight", "bold");
  4. });

Un codigo sencillo pero creo que funciona.. Si tienes dudas puedes consultar la api.jquery.com para ver que es cada funcion
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #4 (permalink)  
Antiguo 13/12/2010, 11:20
Avatar de Freakme  
Fecha de Ingreso: julio-2007
Ubicación: Portugalete
Mensajes: 97
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Buscar texto dentro de la misma pagina

Buenas tardes, primero daros las gracias a ambos, pero no me funciona ninguna de ambas opciones :S

El formulario:
Código:
<form method="post" action="" name="buscatexto">
<input type="text" name="textoabuscar">
<input type="submit" name="enviar" value="Enviar">
</form>
echoTREBOR - jquery
Código:
<script type="text/javascript">
 $(document).ready(function($){
var valor=$("#textoabuscar").val();
$("td:contains("'"+valor+"'")").css("font-weight", "bold");
});
</script>
Sourcegeek - jquery
Código:
<script type="text/javascript">
$('buscatexto').submit(function() {
    busqueda = $('textoabuscar').val();
    $("td:contains('"+busqueda+"')").css("font-weight", "bold");
});
</script>
He cambiado el "... div:contains( ..." por "...td:contains(..." porque mi pagina consiste en una tabla a modo de lista de telefonos.
Quería preguntaros... ¿el ":contains" busca el texto que se le manda dentro del texto que pueda haber o solo va a encontrar el texto exacto que se le manda?

Gracias de nuevo, un saludo :D
  #5 (permalink)  
Antiguo 16/01/2013, 10:46
 
Fecha de Ingreso: octubre-2010
Mensajes: 6
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar texto dentro de la misma pagina

La demo:
http://www.ryancoughlin.com/demos/highlight/index.html

Y acá sale como hacerlos:
http://www.ryancoughlin.com/2008/12/20/jquery-search-and-highlight/#

Saludos!
  #6 (permalink)  
Antiguo 16/01/2013, 11:43
 
Fecha de Ingreso: octubre-2010
Mensajes: 6
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar texto dentro de la misma pagina

http://blog.mastykarz.nl/samples/jquery/searchOnThisPage.html

Este está mejor
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 06:16.