Foros del Web » Programando para Internet » Javascript »

opcion de un checkbox

Estas en el tema de opcion de un checkbox en el foro de Javascript en Foros del Web. Hola, como puedo poner una opción seleccionada a través de unos datos sacados de una BD? Me explico. Cuando quiero editar los datos de una ...
  #1 (permalink)  
Antiguo 12/09/2008, 01:53
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
opcion de un checkbox

Hola, como puedo poner una opción seleccionada a través de unos datos sacados de una BD?
Me explico. Cuando quiero editar los datos de una persona, me carga los datos anteriores y los modifico, pues bien, voy a poner un ejemplo. Tengo una lista de posibles opciones para el puesto de trabajo:

<label for="puestoTrabajo">Puesto de trabajo:</label>
<input type="checkbox" name="puestoTrabajo" value="Soldador" onclick="contarOpciones(this)" >Soldador
<input type="checkbox" name="puestoTrabajo" value="Calderero" onclick="contarOpciones(this)">Calderero
<input type="checkbox" name="puestoTrabajo" value="Armador" onclick="contarOpciones(this)">Armador
<input type="checkbox" name="puestoTrabajo" value="Otros" onclick="contarOpciones(this)">Otros

y ahora mediante un script hago:

<script>
<c:if test="${alumno.puestoTrabajo == 'Soldador'}">
document.form.puestoTrabajo[0].selected=true;
</c:if>
<c:if test="${alumno.puestoTrabajo == 'Calderero'}">
document.form.puestoTrabajo[1].selected=true;
</c:if>
<c:if test="${alumno.puestoTrabajo == 'Armador'}">
document.form.puestoTrabajo[2].selected=true;
</c:if>
<c:if test="${alumno.puestoTrabajo == 'Otros'}">
document.form.puestoTrabajo[3].selected=true;
</c:if>
<script>

Este script situado entre el cierre del body y el cierre del html

¿Por que no funciona?
  #2 (permalink)  
Antiguo 12/09/2008, 08:15
Avatar de EPROM  
Fecha de Ingreso: abril-2005
Mensajes: 51
Antigüedad: 19 años
Puntos: 3
Respuesta: opcion de un checkbox

En caso de que fuera sólo un checkbox, podriamos hacerlo asi.. pero si es un valor deberían ser radiobuttons a mí parecer.

Código:
<script>
function chequea() {

var sel = document.getElementById("sel");
alert(sel);
if (sel == 'Soldador') {
	document.form.puestoTrabajo[0].selected=true;
} else if (sel == 'Calderero') {
	document.form.puestoTrabajo[1].selected=true;
} else if (sel == 'Armador') {
	document.form.puestoTrabajo[2].selected=true;
} else if (sel == 'Otros') {
	document.form.puestoTrabajo[3].selected=true;
}
</script>



</head>
<body onload="chequea()">
...
<label for="puestoTrabajo">Puesto de trabajo:</label>
			<input type="checkbox" name="puestoTrabajo" value="Soldador" onclick="contarOpciones(this)" >Soldador
			<input type="checkbox" name="puestoTrabajo" value="Calderero" onclick="contarOpciones(this)">Calderero
			<input type="checkbox" name="puestoTrabajo" value="Armador" onclick="contarOpciones(this)">Armador
			<input type="checkbox" name="puestoTrabajo" value="Otros" onclick="contarOpciones(this)">Otros
...

<input type="hidden" name="sel" id="sel" value="${alumno.puestoTrabajo}"> <!-- aca debes asignar la variable... no se como hacerlo en ese lenguaje -->

</body>
Saludos
  #3 (permalink)  
Antiguo 15/09/2008, 01:15
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: opcion de un checkbox

Hola!
He probado el código y cuando lo ejecuto me sale el alert que pone [object], y no me marca la opción, ¿de que puede ser?
También probé a poner una opción fija en value, por si no le estaba pasando bien el parámetro, pero no es de eso.
Saludos!!
  #4 (permalink)  
Antiguo 15/09/2008, 04:35
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: opcion de un checkbox

solucion: if (sel.value == 'Armador') ....

Saludos!!
  #5 (permalink)  
Antiguo 15/09/2008, 09:46
Avatar de EPROM  
Fecha de Ingreso: abril-2005
Mensajes: 51
Antigüedad: 19 años
Puntos: 3
Respuesta: opcion de un checkbox

:D un detallito!!
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 05:28.