Foros del Web » Programando para Internet » Javascript »

Ayuda con checkbox

Estas en el tema de Ayuda con checkbox en el foro de Javascript en Foros del Web. GEnte.. porfavor. Ya di 30 mil vueltas con esto.. No se porque no me anda.. tengo un formulario conn checkboxs.. El primer checkbox de todos..es ...
  #1 (permalink)  
Antiguo 08/08/2009, 08:06
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 8 meses
Puntos: 1
Ayuda con checkbox

GEnte..
porfavor.
Ya di 30 mil vueltas con esto..
No se porque no me anda..
tengo un formulario conn checkboxs..

El primer checkbox de todos..es el de "Seleccionar Todos" osea q si se aprieta se seleccionan o desseleccionan todos.

No puedo hacer que eso me funcione..creo que todo el javascript esta bien.
pero nose donde esta el error porque no me funciona.
Si alguien lo encuentra avise ;D


Código HTML:
<html><head>


<script type="text/javascript">

function check(form){
	for (i=0; i<form.elements.length;i++){
		if (form.elements[i].type=="checkbox"){
		 form.elements[i].checked=true ;
		}
	}
	}
function unCheck(form){
		for (i=0; i<form.elements.length;i++){
		if ((form.elements[i].type=="checkbox"){
					 form.elements[i].checked=false ;
		}
	
	}
	}
function seleccionarTodo(estado,frm){
		if (estado==true) {
			check(frm);
	}else {
		unCheck(frm);
	}
	}		

</script>
</head>
<body>

	<table id="carac">
	<form name="propiedades" action="abm.php" method="POST" > 
		<tr>
		<td width="10%"><input title="Seleccionar Todos" name="seleccionarTodos" onclick="seleccionarTodo(document.propiedades.seleccionarTodos.checked,document.propiedades)" type="checkbox" value="checkbox" /></td>

		</tr>

		<tr><td width="10%"><input type="checkbox" name="idCaracteristica[]" value="1" >uno</td></tr>
		<tr><td width="10%"><input type="checkbox" name="idCaracteristica[]" value="2" >dos</td></tr>
		<tr><td width="10%"><input type="checkbox" name="idCaracteristica[]" value="3" >tres</td></tr>
		<tr><td width="10%"><input type="checkbox" name="idCaracteristica[]" value="4" >cuatro</td></tr>
		<tr><td width="10%"><input type="checkbox" name="idCaracteristica[]" value="5" >cinco</td></tr>
		
	</form></table>
</body></html>


Última edición por fackius; 08/08/2009 a las 08:12
  #2 (permalink)  
Antiguo 08/08/2009, 08:44
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 8 meses
Puntos: 47
Respuesta: Ayuda con checkbox

Mira lo cambie un poco aver que te parece hasta quedo mas corto y todo :D...

Código javascript:
Ver original
  1. function cambiar(checkbox) {
  2. var checkboxes = document.getElementsByName("idCaracteristica[]");
  3. for (var i=0; i<checkboxes.length; i++) {
  4.         checkboxes[i].checked = checkbox.checked;
  5.     }
  6. }

Lo que hago en vez de usar 2 funciones es usar una sola donde le asigno el valor checked del box principal a todos los demas...

Código HTML:
 <table id="carac">
	<form name="propiedades" action="abm.php" method="POST" > 
		<tr>
		<td width="10%"><input type="checkbox" title="Seleccionar Todos" name="seleccionarTodos" onclick="cambiar(this)"/></td>

		</tr>

		<tr><td width="10%"><input type="checkbox" name="idCaracteristica[]" value="1" >uno</td></tr>
		<tr><td width="10%"><input type="checkbox" name="idCaracteristica[]" value="2" >dos</td></tr>
		<tr><td width="10%"><input type="checkbox" name="idCaracteristica[]" value="3" >tres</td></tr>
		<tr><td width="10%"><input type="checkbox" name="idCaracteristica[]" value="4" >cuatro</td></tr>
		<tr><td width="10%"><input type="checkbox" name="idCaracteristica[]" value="5" >cinco</td></tr>
		
	</form></table> 
Saludos
  #3 (permalink)  
Antiguo 08/08/2009, 09:25
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Ayuda con checkbox

Gracias djaevi

Me viene re bien..lo probé y anduvo perfecto.


Mil 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 18:48.