Foros del Web » Programando para Internet » Javascript »

help combo

Estas en el tema de help combo en el foro de Javascript en Foros del Web. Yo tengo un combo con las opciones: 1-daniel 2-daniela Tengo seleccionada la opción 1(daniel) Si yo pulso la tecla 'd' en el combo, me cambia ...
  #1 (permalink)  
Antiguo 13/06/2002, 11:49
 
Fecha de Ingreso: marzo-2002
Mensajes: 30
Antigüedad: 22 años, 1 mes
Puntos: 0
help combo

Yo tengo un combo con las opciones:
1-daniel
2-daniela
Tengo seleccionada la opción 1(daniel)
Si yo pulso la tecla 'd' en el combo, me cambia a la opción 2 (daniela), si vuelvo a pulsar la tecla 'd' me cambia a la 1 (daniel), y asi sucesivamente.
¿Como puedo inhabilitar esto? es decir, ¿que no me cambie de una opción a otra,que siempre se quede en la misma?.Gracias.Espero que alguien me ayude.
  #2 (permalink)  
Antiguo 13/06/2002, 18:24
el_asound
Invitado
 
Mensajes: n/a
Puntos:
Re: help combo

pues esta dificil, y porque quieres hacer esto??? saludos

<iframe marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="http://www.ansiwebs.com/Poexia/index.html" width=468 height=60></iframe>
  #3 (permalink)  
Antiguo 13/06/2002, 18:26
el_asound
Invitado
 
Mensajes: n/a
Puntos:
Re: help combo

pues esta dificil, y porque quieres hacer esto??? saludos

<iframe marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="http://www.ansiwebs.com/Poexia/index.html" width=468 height=60></iframe>
  #4 (permalink)  
Antiguo 14/06/2002, 01:18
 
Fecha de Ingreso: marzo-2002
Mensajes: 30
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: help combo

Lo que quiero hacer es un combo de busqueda incremental,es decir, cada vez que pulso una tecla el combo ha de buscar la primera palabra que empiece con esa tecla y situarse en ese valor,si la encuentra al volver a pulsar una tecla debe buscar la palabra que empiece por las 2 teclas pulsadas i mostrarla y asi sucesivamente, hasta que se encuentra el dato buscado i no se encuentra la cadena de busqueda.
  #5 (permalink)  
Antiguo 16/06/2002, 11:42
 
Fecha de Ingreso: febrero-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: help combo

Hola erwing!!
Después de leer tu msq me quedé pensando y me picó la curiosidad, ya que me parece que eso que tú comentas puede ser útil para mucha gente, sobre todo para aquellos que tienen combobox con muchas entradas.
Bueno, pues me puse manos a la obra y me salió algo que a buen seguro debería servirte.
Te lo paso en el msq siguiente.

<hr>Todo sobre DHTML y javascript en <A HREF="http://www.iespana.es/topscripts">TopScripts</A><p><cite>Si el orgulloso se diese cuenta de lo ridículo que queda ante los que le conocen, por orgullo sería más humilde</cite>
Val Muñoz de Bustillo<hr>
  #6 (permalink)  
Antiguo 16/06/2002, 11:45
 
Fecha de Ingreso: febrero-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: help combo

Código:
&lt;html&gt;
&lt;head&gt;
&lt;script language=&quot;javascript&quot;&gt;
&lt;!--
//Aspectos importantes para la utilización de este script:
//	- Sólo sirve para combos cuyos textos de opción contengan caracteres de la a-z o A-Z
//	  y para números.
//	- Su uso es fácil, simplemente pon las funciones entre &lt;head&gt; y &lt;/head&gt; y pon la funcion
//	  selecciona(combo,tiempo) dentro del evento onKeydown
//	- El parámetro tiempo determina cuanto tiempo puede pasar entre pulsación y pulsación
//	  antes de que deje de haber seleccion progresiva

							//$$$SELECCIÓN PROGRESIVA$$$//
//////////////////////////////////////////////////////////////////////////////////////
//						FUNCIONES DESARROLLADAS POR LOVE_UCA (VAL)					//
//	Si utilizan las funciones en sus páginas, por favor mantengan este comentario	//
//////////////////////////////////////////////////////////////////////////////////////
var cadena = new String; //Variable global que guarda la cadena que vamos formando
var reloj; //Id del setTimeout

/////////////////////////////////////////////////////////////////////////////////////////////////////
//Funcion que pasa una cadena a minúsculas, (no va a haber diferencia entre mayúsculas y minúsculas//
function minusculas(str){
	str =str.toLowerCase(); //Paso a minuscula
	return (str);
}

////////////////////////////////////////////////////////////////////////////////////////////////
//Funcion que comprueba si el valor que le estamos pasando y el valor de la opcion son iguales//
//Como parámetro le pasamos el texto de la opción que obtenemos en la funcion selecciona	  //
function coincide(opt){
	var lon = cadena.length;
	var correcto = false;
	//Paso ambas cadenas a minusculas
	cadena = minusculas(cadena);
	opt = minusculas(opt);
	for (j=0;j&lt;lon;j++){
		if (cadena.charAt(j) == opt.charAt(j)){
			correcto = true;
		}
		else{
			correcto = false;
		}
		if (correcto == false){
			break;
			alert('No coincide');
		}
	}//endfor
  #7 (permalink)  
Antiguo 16/06/2002, 11:46
 
Fecha de Ingreso: febrero-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: help combo

Código:
//Si al terminar el for correcto es true, la funcion devuelve true, sino devuelve false//
	if (correcto == true){
		return (true);
	}
	else{
		return (false);
	}
}

//////////////////////////////////////////////////////////////////////////////
//Se ejecuta cada vez que pulso una tecla con el combo seleccionado			//
//La funcion selecciona recibe dos argumentos, lista (id del combo) y tiempo//
//(tiempo que pasa hasta que cadena se pone en blanco) En segundos			//
function selecciona(lista,tiempo){
	clearTimeout(reloj);
	reloj = setTimeout('cadena=&quot;&quot;;',tiempo*1000);
	var ValorOpcion;  //Variable global que guarda el valor del value del combo
	var opcion; //Variable que guarda el texto de la opción
	var NumOpciones = lista.options.length; //Numero de opciones que tiene el combo
	var TeclaUnicode = event.keyCode; //Código Unicode de la tecla pulsada
	var TeclaReal = String.fromCharCode(TeclaUnicode); //Valor real de la tecla
	cadena = cadena + TeclaReal; //Le añado a la cadena la tecla pulsada
	for (i=0;i&lt;NumOpciones;i++){
		opcion = lista.options(i).innerHTML;//Texto de la opcion
		ValorOpcion = lista.options(i).value;//value de la opcion
		if (coincide(opcion) == true){
			lista.value = ValorOpcion;
			break;
		}
	}
	return (false); //Devuelve false para omitir el funcionamiento normal del combo,
					//es decir, dejará de seleccionar la opción que empieze por la letra
					//pulsada. Esto se hace para q el script controle el mecanismo
}
//--&gt;
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;SELECT NAME=&quot;combo&quot; onKeydown=&quot;return(selecciona(this,1))&quot;&gt;
&lt;OPTION value=&quot;1&quot;&gt;Pedro&lt;/option&gt;
&lt;OPTION value=&quot;2&quot;&gt;Pilar&lt;/option&gt;
&lt;OPTION value=&quot;3&quot;&gt;Ana&lt;/option&gt;
&lt;OPTION value=&quot;4&quot;&gt;Bebeto&lt;/option&gt;
&lt;OPTION value=&quot;5&quot;&gt;Anabel&lt;/option&gt;
&lt;OPTION value=&quot;6&quot;&gt;Fran&lt;/option&gt;
&lt;OPTION value=&quot;7&quot;&gt;Pedra&lt;/option&gt;
&lt;OPTION value=&quot;8&quot;&gt;Narciso&lt;/option&gt;
&lt;/SELECT&gt;
&lt;/body&gt;
&lt;/html&gt;
Espero que te sirva, cuentame!!!
Saludos

<hr>Todo sobre DHTML y javascript en <A HREF="http://www.iespana.es/topscripts">TopScripts</A><p><cite>Si el orgulloso se diese cuenta de lo ridículo que queda ante los que le conocen, por orgullo sería más humilde</cite>
Val Muñoz de Bustillo<hr>
  #8 (permalink)  
Antiguo 17/06/2002, 01:29
 
Fecha de Ingreso: marzo-2002
Mensajes: 30
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: help combo

Gracias por tu ayuda.En principio era lo que queria.Gracias.
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 17:51.