Foros del Web » Programando para Internet » Javascript »

marcar/desmarcar checkboxes + php + javascript

Estas en el tema de marcar/desmarcar checkboxes + php + javascript en el foro de Javascript en Foros del Web. Buen dia ...... como van .....? Tengo un pequeño problema de comprension entre php y javascript e cuanto a marcar o desmarcar todos los checkboxes ...
  #1 (permalink)  
Antiguo 27/07/2005, 15:51
 
Fecha de Ingreso: julio-2004
Mensajes: 21
Antigüedad: 19 años, 9 meses
Puntos: 0
marcar/desmarcar checkboxes + php + javascript

Buen dia ...... como van .....?

Tengo un pequeño problema de comprension entre php y javascript e cuanto a marcar o desmarcar todos los checkboxes dinamicos (generados de una consulta a la BD).

Realizada una consulta genero un form en el cual se despliegan los N checkboxes segun la cantidad de registros arrojados de la siguiente manera:

<td><input name='opcion[]' type='checkbox' value='$codigo'></td>

como es sabido para saber que cantidad de checkbox han sido escogidos debo tener el arreglo "opcion[]", pues es de la unica manera en la cual php puede discriminar los checkboxes ademas de conocer la cantidad con la funcion count($opcion).

Ahora, el codigo js para marcar o desmarcar todos los checkboxes es:

function marcarTodos(chkbox){
for (var i=0;i < document.forms[0].opcion.length;i++){
var elemento = document.forms[0].opcion[i];
if (elemento.type == "checkbox"){
elemento.checked = chkbox.checked
}
}
}

Aquie es donde empieza el problema entre php y javascript, pues si quiatara los corchetes a en la linea del form (name='opcion'), funcionaria perfectamente el codigo anterior de js....a las mil maravillas....pero no me serviria para PHP pues no puedo discriminarlos, es decir, cual es el value de cada cual. Ademas si lo dejara con el js anterior solo sabria el valor de un solo checkbox en caso de haber sido marcados todos al momento de pasar los valores por el POST.

Alguien sabe como corregir o conjugara js y PHP para que esto funcione correctamente ?

gracias ....
  #2 (permalink)  
Antiguo 28/07/2005, 12:03
 
Fecha de Ingreso: julio-2004
Mensajes: 21
Antigüedad: 19 años, 9 meses
Puntos: 0
Ya lo he solucionado, a quien interese aca esta el codigo para controlar chekbox dinamicos:

1.Activar o desactivar todos los checkbox de una consulta dinamica desde otro checkbox principal(como en hotmail)

2.Una vez activado todos los checkbox se activa el principal

3.Si estan activados todos los checkbox y se desactiva cualquiera, se desactiva el principal.

Codigo de checkbox dinamicos:
//este es para el checkbox que activa o desactiva todos
<td><input name='principal' type='checkbox' onClick=\"modificarTodos(this.form, cantidad_checks)\"></td>


//este es para el checkbox dinamico, resultado de una consulta
<td><input name='opcion[]' id='op$i' type='checkbox' value='$codigo' onClick=\"modificar(this.form, cantidad_checks)\"></td>



Codigo Js:


//activa o desactiva todos los checbox
function modificarTodos(formulario,cantidad){
with (formulario){
if (principal.checked){
for (i = 0; i < cantidad; i++){
var check="document.getElementById('op"+i+"').checked= "+1;
eval (check);
}
}else{
for (i = 0; i < cantidad; i++){
var check="document.getElementById('op"+i+"').checked= "+0;
eval (check);
}
}
}

}

//cada vez que modifico un checkbox de la lista verifica el total de activados para //activar o no el principal

function modificar(formulario,cantidad){
var contador_on = 0;
var contador_off = 0;
with (formulario){
for (i = 0; i < cantidad; i++){
var check="var cad=document.getElementById('op"+i+"').checked";
eval (check);
if (cad){
contador_on++;
}else{
contador_off++
}
}

if (contador_on == cantidad)
principal.checked = 1;

if (contador_off >= 1)
principal.checked = 0;

}
}

espero les sirva.


Todo bien
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 12:24.