JavaScript para el control de Checkbox

Os traigo unas funciones de estas simples pero que son la mar de útiles.

Hoy trabajamos con checkbox.

Esta primera nos selecciona/deselecciona todos los checkbox de un formulario:

function checkUncheckAll(theElement) {
	    var theForm = theElement.form, z = 0;
		 for(z=0; z<theform .length;z++){
	     if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
		  theForm[z].checked = theElement.checked;
		  }
	    }
	}

Uso:

Nos selecciona/des los checkbox siguientes








Esta es algo mas compleja, se le pasa el control del checbox del cual cogeremos el estado, y los elementos contenedores de checkbox (pueden estar separados por comas).

function checkUncheckSome(controller,theElements) {
	var formElements = theElements.split(',');
	var theController = document.getElementById(controller);
	for(var z=0; z<formelements .length;z++){
	    theItem = document.getElementById(formElements[z]);
		if(theItem.type){
		  if (theItem.type=='checkbox') {
		    theItem.checked=theController.checked;
		  }
		} else {
		    theInputs = theItem.getElementsByTagName('input');
		  for(var y=0; y<theInputs.length; y++){
		  if(theInputs[y].type == 'checkbox' && theInputs[y].id != theController.id){
		     theInputs[y].checked = theController.checked;
		  }
	   }
	}
      }
}

Usos:

Ejemplo 1: En este caso nos checkeará sólo los elementos dentro del div1



Ejemplo 2: En este caso nos checkeará sólo los elementos dentro del div1 y del div3. Omite el div2 ya que no lo hemos indicado.



Prueba lo online

Anuncios

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s