Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Diseño web | Promoción web | Ganar dinero
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo
ARTICULO: Javascript para posicionarse en un select

 Se muestran 9 comentarios sin revisar

Luis  26/12/05 
Hola javicalle, podrias indicarme la modificación al bucle, estoy atrapado con eso, necesito que al apretar una letra me deje posicionado en el primer elemento del select y no en el ultimo.

Gracias

afffff  12/1/06 
<?php
phpinfo();
?>

dsAAAA  12/1/06 
';?> <?phpinfo();?> <? echo '

Andresnore  01/11/07 
Este codigo funciona perfecto en IE pero en firefox genera error . me puedes ayudar con esto

Ignacio Perez  29/11/07 
en firefox cambian parte de las variables por ejemplo el evento cuando haces click en una tecla, busca un poco que encontraras info (estoy HARTO de los navegadores estandarizados, y no estandarizados IE!!!!)
salu2

Pablo  26/7/08 
He utilizado el script: muy bueno y muchas gracias. TEngo un solo comentario, los tiempos entre teclazos son bien diferentes en Mozilla que en IE. En Mozilla si tecleas rápido el script funciona, si lo haces medianamente lento, ya no, es como que empezaras de nuevo. En IE los tiempos son más \"tolerantes\" y funciona mejor.
¿tienes alguna sugerencia para mejorar la performance en Mozilla? gracias y saludos

Pimus  21/8/08 
ET = sacroSanto

Realize una modificacion al codigo

<script language="JavaScript1.2">
// a_objs = puntero this de la lista
// a_ndigit = maximo numero de digitos para la busqueda

function js_htmlselect_find(a_objs, a_ndigit)
{
var l_letra = String.fromCharCode(event.keyCode)
var l_cadena = a_objs.mfind;
var l_puntero = a_objs.mpuntero;

if(l_puntero >= a_ndigit)
{
l_cadena="";
l_puntero=0;
}

if (event.keyCode == 13 || event.keyCode == 27 || event.keyCode == 32){
l_cadena="";
l_puntero=0;
}
else
{
l_cadena=l_cadena+l_letra;
l_puntero++;

for (var idx=0; idx < a_objs.length; idx++)
{
if(a_objs[idx].text.substr(0,l_puntero).toLowerCase()==l_cadena.toLowerCase())
{
a_objs.selectedIndex=idx;
}
}
}
a_objs.mfind = l_cadena;
a_objs.mpuntero = l_puntero;

event.returnValue = false;
}

//--------------------------

function js_htmlselect_find_ini(objs)
{
objs.mfind = '';
objs.mpuntero=0
}

</script>

<html>
<head>
<title>Untitled Document</title>
</head>
<body>

<select name="combo1" id='combo1' mfind='' mpuntero=0 onKeypress="js_htmlselect_find(this,text2,10);" onblur="js_htmlselect_find_ini(this);" onclick="js_htmlselect_find_ini(this);" >
<option>Argentina</option>
<option>Australia</option>
<option>Bolivia</option>
<option>Brasil</option>
<option>Canada</option>
<option>Colombia</option>
<option>Dinamarca</option>
<option>Estados Unidos</option>
<option>Estonia</option>
<option>Austria</option>
<option>Bulgaria</option>
<option>Chile</option>
<option>España</option>
<option>China</option>
<option>Costa Rica</option>
<option>Croacia</option>
<option>Ecuador</option>
</select>


</body>
</html>

Pimus  21/8/08 
<script language="JavaScript1.2">
// a_objs = puntero this de la lista
// a_ndigit = maximo numero de digitos para la busqueda

function js_htmlselect_find(a_objs, a_ndigit)
{
var l_letra = String.fromCharCode(event.keyCode)
var l_cadena = a_objs.mfind;
var l_puntero = a_objs.mpuntero;

if(l_puntero >= a_ndigit)
{
l_cadena="";
l_puntero=0;
}

if (event.keyCode == 13 || event.keyCode == 27 || event.keyCode == 32){
l_cadena="";
l_puntero=0;
}
else
{
l_cadena=l_cadena+l_letra;
l_puntero++;

for (var idx=0; idx < a_objs.length; idx++)
{
if(a_objs[idx].text.substr(0,l_puntero).toLowerCase()==l_cadena.toLowerCase())
{
a_objs.selectedIndex=idx;
}
}
}
a_objs.mfind = l_cadena;
a_objs.mpuntero = l_puntero;

event.returnValue = false;
}

//--------------------------

function js_htmlselect_find_ini(objs)
{
objs.mfind = '';
objs.mpuntero=0
}

</script>

<html>
<head>
<title>Untitled Document</title>
</head>
<body>

<select name="combo1" id='combo1' mfind='' mpuntero=0 onKeypress="js_htmlselect_find(this,text2,10);" onblur="js_htmlselect_find_ini(this);" onclick="js_htmlselect_find_ini(this);" >
<option>Argentina</option>
<option>Australia</option>
<option>Bolivia</option>
<option>Brasil</option>
<option>Canada</option>
<option>Colombia</option>
<option>Dinamarca</option>
<option>Estados Unidos</option>
<option>Estonia</option>
<option>Austria</option>
<option>Bulgaria</option>
<option>Chile</option>
<option>España</option>
<option>China</option>
<option>Costa Rica</option>
<option>Croacia</option>
<option>Ecuador</option>
</select>


</body>
</html>

pimus  21/8/08 
La mejor modificacion de busqueda inteligente..
me funciona en IE y en Opera no lo he ensayado en firefox mozila
//------------------------
<script language="JavaScript1.2">

function js_htmlselect_find(a_objs, a_ndigit)
{
// a_objs = puntero this de la lista
// a_ndigit = maximo numero de digitos para la busqueda

var l_letra = String.fromCharCode(event.keyCode)
var l_cadena = a_objs.mfind;
var l_puntero = a_objs.mpuntero;
var l_aux='';

if(l_puntero >= a_ndigit)
{
l_cadena="";
l_puntero=0;
}

if (event.keyCode == 13 || event.keyCode == 27 || event.keyCode == 32){
l_cadena="";
l_puntero=0;
}
else
{
l_cadena=l_cadena+l_letra;
l_puntero++;

for (var idx=0; idx < a_objs.length; idx++)
{
//if(a_objs[idx].text.substr(0,l_puntero).toLowerCase()==l_cadena.toLowerCase())
l_aux = a_objs[idx].text.toLowerCase();
if(l_aux.match(l_cadena.toLowerCase()) != null)
{
a_objs.selectedIndex=idx;
}
}
}
a_objs.mfind = l_cadena;
a_objs.mpuntero = l_puntero;

event.returnValue = false;
}

//--------------------------

function js_htmlselect_find_ini(objs)
{
objs.mfind = '';
objs.mpuntero=0
}

</script>

<html>
<head>
<title>Untitled Document</title>
</head>
<body>

<select name="combo1" id='combo1' mfind='' mpuntero=0 onKeypress="js_htmlselect_find(this,10);" onblur="js_htmlselect_find_ini(this);" onclick="js_htmlselect_find_ini(this);" >
<option>Argentina</option>
<option>Australia</option>
<option>Bolivia</option>
<option>Brasil</option>
<option>Canada</option>
<option>Colombia</option>
<option>Dinamarca</option>
<option>Estados Unidos</option>
<option>Estonia</option>
<option>Austria</option>
<option>Bulgaria</option>
<option>Chile</option>
<option>España</option>
<option>China</option>
<option>Costa Rica</option>
<option>Croacia</option>
<option>Ecuador</option>
</select>


</body>
</html>

Ver el articulo / faq completo Ver el articulo y todos sus comentarios
Añadir un comentario al artículo Añadir un comentario del artículo
  Ir arriba

Comentarios no revisados de:

+ Javascript para posicionarse en un select


DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia