Seleccionar item de un Select con javascript Leido 12.076 veces

 
  Broco
Ha recibido:
1 premios
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...



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) {}
}


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:


<!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>


 

 








    ¿Cuantas columnas?     | 2 columnas | 3 columnas | 4 columnas | 5 columnas | 6 columnas |  
    Escribe la dirección web de la imagen:
  Publica tu respuesta  |  Haz Click en el siguiente cuadro para escribir