Usuario:
Contraseña:

Nueva encuesta
Nuevo enlace
Cremas y Aceites
 
  Seleccionar item de un Select con javascript
  Broco  
( brocolih )


Mensajes: 4043  
Noticias: 12
Artículos: 37
Enlaces: 10
Comentarios: 189

Ilustrador Nivel 1





Medallas de Honor (Nivel 7)





Orientación: Angel celestial


Lema de brocolih
Es mejor arrepentirse de cada cagada que no hacer nada en toda la vida por miedo a cagarla.

  Seleccionar item de un Select con javascript - 2011-12-11 / 17:35:55

  Por:
 brocolih
  (Leído 11991 veces)  (Contiene 0 comentarios ) 




Artículo actualizado el 2011-12-11 17:45:13 por nraz.
Artículo de
Broco (brocolih)
Karma: 573
 
Popularidad
 
Esta función es para seleccionar un Item en un select (Lista/Menu) desde javascript, de esta manera no se depende de el servidor, que a pesar de ser mas eficaz consume mas recursos, hay que tener en cuenta, que sí el cliente tiene Javascript deshabilitado no funcionará, asi que dependiendo de lo importante que sea el proyecto seria recomendable usar otro metodo, yo suelo usar este script, ya que funciona muy bien y al final son 4 gatos los que desactivan Javascript...

[codigo]
function LMSelectAuto() {
var Elementos = document.getElementsByTagName("select");
for (i = 0; i < Elementos.length; i++) {
try {
if(Elementos[i].getAttribute("svalue") != null) {
LMSelectforval(Elementos[i].id,Elementos[i].getAttribute("svalue"))
}
if(Elementos[i].getAttribute("stext") != null ) {
LMSelectfortxt(Elementos[i].id,Elementos[i].getAttribute("stext"))
}
} catch(err) {}
}
}
function LMSelectfortxt(ID,valor) {
try {
for (var i = 0;
i < document.getElementById(ID).options.length;
i++) {
if (document.getElementById(ID).options[i].text == valor) {
document.getElementById(ID).selectedIndex = i;
return
}
}
} catch(err) {}
}
function LMSelectforval(ID,valor) {
try {
for (var i = 0;
i < document.getElementById(ID).options.length;
i++) {
if (document.getElementById(ID).options[i].value == valor) {
document.getElementById(ID).selectedIndex = i;
return
}
}
} catch(err) {}
}
[nocodigo]








Funciones:

LMSelectforval(id,valor): Selecciona el item de el Select basandose en su valor.
ID: ID de el select al cual se desea aplicar la seleccion.
Valor: Valor que se usará para buscar el item a seleccionar.

LMSelectfortxt(id,valor): Selecciona el item de el Select basandose en su "Etiqueta/Text".
ID: ID de el select al cual se desea aplicar la seleccion.
Valor: Valor que se usará para buscar el item a seleccionar.

LMSelectAuto(): Selecciona automaticamente el item indicado:
Esta función busca el atributo svalue="" o stext="" en todos los select y seleciona el item dependiendo de su valor.
svalue: selecciona por value llamando a la funcion "LMSelectforval()"
stext: selecciona por value llamando a la funcion "LMSelectfortxt()"




Ejemplos:
[codigo]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Prueba</title>
<script>
function LMSelectAuto(){

var Elementos = document.getElementsByTagName("select");


for (i = 0; i < Elementos.length; i++) {
try{
if(Elementos[i].getAttribute("svalue") != null){LMSelectforval(Elementos[i].id,Elementos[i].getAttribute("svalue"))}
if(Elementos[i].getAttribute("stext") != null ){LMSelectfortxt(Elementos[i].id,Elementos[i].getAttribute("stext"))
}}catch(err){}
}


}





function LMSelectfortxt(ID,valor) {
try{
for (var i = 0; i < document.getElementById(ID).options.length; i++) {
if (document.getElementById(ID).options[i].text == valor) {document.getElementById(ID).selectedIndex = i; return}
}

}catch(err){}
}


function LMSelectforval(ID,valor) {
try{
for (var i = 0; i < document.getElementById(ID).options.length; i++) {
if (document.getElementById(ID).options[i].value == valor) {document.getElementById(ID).selectedIndex = i; return}
}
}catch(err){}
}
</script>
</head>

<body>

<select name="select" id="select" stext="Uno">
<option value="1">Uno</option>
<option value="2">Dos</option>
<option value="3">Tres</option>
<option value="4">Cuatro</option>
<option value="5">Cinco</option>
</select>

<select name="select" id="select2" svalue="2">
<option value="1">Uno</option>
<option value="2">Dos</option>
<option value="3">Tres</option>
<option value="4">Cuatro</option>
<option value="5">Cinco</option>
</select>


<select name="select" id="select3">
<option value="1">Uno</option>
<option value="2">Dos</option>
<option value="3">Tres</option>
<option value="4">Cuatro</option>
<option value="5">Cinco</option>
</select>
<select name="select" id="select4" >
<option value="1">Uno</option>
<option value="2">Dos</option>
<option value="3">Tres</option>
<option value="4">Cuatro</option>
<option value="5">Cinco</option>
</select>

<script>
LMSelectAuto()
LMSelectforval("select3","3")
LMSelectfortxt("select4","Cuatro")
</script>
</body>
</html>
[nocodigo]
 
Firma:
Enlace
Moviles


 
 

Comunidades Redee >  Redee  
 
JavaScript 
   Cuestiones sobre programación en JavaScript





 


Hazte miembro
¿Quieres ser el miembro 266870 ?

Registrate ahora...
Comunidad versión: 1.2 Beta   Comunidades Redee - Ver condiciones de uso