Foros del Web » Programando para Internet » Javascript »

cambiar valores de checkbox

Estas en el tema de cambiar valores de checkbox en el foro de Javascript en Foros del Web. amigos del foro acudo a ustedes por lo siguiente tengo un grupo de checkbox y necesito que al clikiarlo tenga un valor un valor chekeado ...

  #1 (permalink)  
Antiguo 01/02/2012, 18:22
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
cambiar valores de checkbox

amigos del foro acudo a ustedes por lo siguiente


tengo un grupo de checkbox y necesito que al clikiarlo tenga un valor un valor

chekeado tenga un valor
y deschekeado otro valor



<br />
<input type="checkbox" name="volcan1" id ="volcan1" value="volcan1">
Volcan 1 <br />
<input type="checkbox" name="volcan2" id ="volcan2" value="volcan2">
Volcan 2 <br />
<input type="checkbox" name="volcan3" id ="volcan3" value="volcan3">
Volcan 3
<br />
<input type="checkbox" name="volcan4" id ="volcan4" value="volcan4">
Volcan 4
<br />
<input type="checkbox" name="volcan5" id ="volcan5" value="volcan5">
  #2 (permalink)  
Antiguo 01/02/2012, 21:12
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

el siguiente codigo hace lo que necesito

pero sirve solo para 3 checkbox o para 5 solo para un numero conocido

lo checkbox los genero(imprimo) deacuerdo al numero de registros devueltos por la base de datos.

necesito mejor el codigo y que sirva para n checkboxs


espero me puedan ayudar




<!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=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<script type="text/javascript">
function calcular(){

if (document.getElementById('check1').checked==true){
document.getElementById('check1').value=1;
document.getElementById('text1').value=document.ge tElementById('check1').value;
}else{
document.getElementById('check1').value=0;
document.getElementById('text1').value=document.ge tElementById('check1').value;
}
if (document.getElementById('check2').checked==true){
document.getElementById('check2').value=2;
document.getElementById('text2').value=document.ge tElementById('check2').value;
}else{
document.getElementById('check2').value=0;
document.getElementById('text2').value=document.ge tElementById('check2').value;
}
if (document.getElementById('check3').checked==true){
document.getElementById('check3').value=3;
document.getElementById('text3').value=document.ge tElementById('check3').value;
}else{
document.getElementById('check3').value=0;
document.getElementById('text3').value=document.ge tElementById('check3').value;
}
}
</script>

</head>

<body>
<form action="respueta.php" method="post" name="uno" id="uno">
<p>
<input name="uno" type='checkbox' id="check1" onclick='calcular()'/>
Cambia value
Value del checkbox:
<input name="uno" type="text" id="text1" />
<br />
<input name="dos" type='checkbox' id="check2" onclick='calcular()'/>
Cambia value
Value del checkbox:
<input name="dos" type="text" id="text2" />
<br />
<input name="tres" type='checkbox' id="check3" onclick='calcular()'/>
Cambia value
Value del checkbox:
<input name="tres" type="text" id="text3" />
<br />
<label>
<input name="submit" type="submit" id="submit" value="Enviar" />
</label>
</p>
</form>
</body>
</html>
  #3 (permalink)  
Antiguo 02/02/2012, 07:14
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

Compañeros del foro espero me ayuden

tengo el siguiente codigo , sirve para cambiar el valor de un input deacuerdo a si se chequea un checkbox.

tengo un chekear todo hasta ahi todo funciona perfecto

necesito mejorar el codigo ya que solo sirve para 3 checkbox y estos checkbox los imprimo desde base de datos necesito para n checkbox


Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function calcular(){
  3.  
  4.   if (document.getElementById('check1').checked==true){
  5.   document.getElementById('check1').value=1;
  6.   document.getElementById('text1').value=document.getElementById('check1').value;
  7.   }else{
  8.   document.getElementById('check1').value=0;
  9.   document.getElementById('text1').value=document.getElementById('check1').value;
  10.   }
  11.    if (document.getElementById('check2').checked==true){
  12.   document.getElementById('check2').value=2;
  13.   document.getElementById('text2').value=document.getElementById('check2').value;
  14.   }else{
  15.   document.getElementById('check2').value=0;
  16.   document.getElementById('text2').value=document.getElementById('check2').value;
  17.   }
  18.    if (document.getElementById('check3').checked==true){
  19.   document.getElementById('check3').value=3;
  20.   document.getElementById('text3').value=document.getElementById('check3').value;
  21.   }else{
  22.   document.getElementById('check3').value=0;
  23.   document.getElementById('text3').value=document.getElementById('check3').value;
  24.   }
  25. }
  26. </script>
  27.  
  28. <script type="text/javascript">
  29. checked=false;
  30. function checkedAll (uno) {
  31.     var aa= document.getElementById('uno');
  32.      if (checked == false)
  33.           {
  34.            checked = true
  35.            document.getElementById('check1').value=1;
  36.   document.getElementById('text1').value=document.getElementById('check1').value;
  37.   document.getElementById('check2').value=2;
  38.   document.getElementById('text2').value=document.getElementById('check2').value;
  39.             document.getElementById('check3').value=3;
  40.   document.getElementById('text3').value=document.getElementById('check3').value;
  41.           }
  42.         else
  43.           {
  44.           checked = false
  45.           document.getElementById('check1').value=0;
  46.   document.getElementById('text1').value=document.getElementById('check1').value;
  47.   document.getElementById('check2').value=0;
  48.   document.getElementById('text2').value=document.getElementById('check2').value;
  49.   document.getElementById('check3').value=0;
  50.   document.getElementById('text3').value=document.getElementById('check3').value;
  51.          
  52.           }
  53.     for (var i =0; i < aa.elements.length; i++)
  54.     {
  55.      aa.elements[i].checked = checked;
  56.      
  57.     }
  58.       }
  59. </script>
  #4 (permalink)  
Antiguo 02/02/2012, 07:15
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

Amigos me falto el codigo html

Código HTML:
<form action="respueta.php" method="post" name="uno" id="uno">
  <p>
    <input name="uno" type='checkbox' id="check1" onclick='calcular()'/>
    Cambia value
    Value del checkbox:
  <input name="uno" type="text" id="text1" />
  <br />
  <input name="dos" type='checkbox' id="check2" onclick='calcular()'/>
    Cambia value
    Value del checkbox:
  <input name="dos" type="text" id="text2" />
  <br />
  <input name="tres" type='checkbox' id="check3" onclick='calcular()'/>
    Cambia value
    Value del checkbox:
  <input name="tres" type="text" id="text3" />
  <br />
  <label>
  <input name="submit" type="submit" id="submit" value="Enviar" />
  </label>
  </p>
 <input type='checkbox' name='checkall' onclick='checkedAll(uno);'> 
  #5 (permalink)  
Antiguo 02/02/2012, 07:48
 
Fecha de Ingreso: octubre-2010
Mensajes: 107
Antigüedad: 13 años, 6 meses
Puntos: 14
Respuesta: cambiar valores de checkbox

Hola, el numero de checkbox siempre va ha ser igual al valor del input text al estar seleccionado?

input1 -> 1
input2 -> 2
....
..
.

?????
  #6 (permalink)  
Antiguo 02/02/2012, 08:06
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

Gracias por responder los checkbox los genero de la siguiente manera

Código PHP:

 <?php
                $cont 
1
                                foreach(
$fv as $field)
                                    {
                                        
                                        
                                        echo 
$field[nom_volcan]."<input type='checkbox' name='volcan$cont' id ='volcan$cont' value='vol_actividad$cont' onClick='calcular'><br/>";
                                        
$cont++;
                                    }
                            
                                    
?>
y si el numero de checkbox siempre va ha ser igual al valor del input text al estar seleccionado

input1 -> 1
input2 -> 2
  #7 (permalink)  
Antiguo 02/02/2012, 09:43
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

Hola amigos del foro espero me puedan ayudar

necesito organizar el siguiente codigo ya que solo sirve para un numero conocido de checkbox necesito para n checkbox


Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function calcular(){
  3.  
  4.   if (document.getElementById('volcan1').checked==true){
  5.   document.getElementById('volcan1').value=1;
  6.   document.getElementById('vol_actividad1').value=document.getElementById('volcan1').value;
  7.   }else{
  8.   document.getElementById('volcan1').value=0;
  9.   document.getElementById('vol_actividad1').value=document.getElementById('volcan1').value;
  10.   }
  11.    if (document.getElementById('volcan2').checked==true){
  12.   document.getElementById('volcan2').value=2;
  13.   document.getElementById('vol_actividad2').value=document.getElementById('volcan2').value;
  14.   }else{
  15.   document.getElementById('volcan2').value=0;
  16.   document.getElementById('vol_actividad2').value=document.getElementById('volcan2').value;
  17.   }
  18.    if (document.getElementById('volcan3').checked==true){
  19.   document.getElementById('volcan3').value=3;
  20.   document.getElementById('vol_actividad3').value=document.getElementById('volcan3').value;
  21.   }else{
  22.   document.getElementById('volcan3').value=0;
  23.   document.getElementById('vol_actividad3').value=document.getElementById('volcan3').value;
  24.   }
  25.   if (document.getElementById('volcan4').checked==true){
  26.   document.getElementById('volcan4').value=4;
  27.   document.getElementById('vol_actividad4').value=document.getElementById('volcan4').value;
  28.   }else{
  29.   document.getElementById('volcan4').value=0;
  30.   document.getElementById('vol_actividad4').value=document.getElementById('volcan4').value;
  31.   }
  32.   if (document.getElementById('volcan5').checked==true){
  33.   document.getElementById('volcan5').value=5;
  34.   document.getElementById('vol_actividad5').value=document.getElementById('volcan5').value;
  35.   }else{
  36.   document.getElementById('volcan3').value=0;
  37.   document.getElementById('vol_actividad3').value=document.getElementById('volcan3').value;
  38.   }
  39.   if (document.getElementById('volcan6').checked==true){
  40.   document.getElementById('volcan6').value=6;
  41.   document.getElementById('vol_actividad6').value=document.getElementById('volcan6').value;
  42.   }else{
  43.   document.getElementById('volcan6').value=0;
  44.   document.getElementById('vol_actividad6').value=document.getElementById('volcan6').value;
  45.   }
  46. }
  47. </script>
  48. <script type="text/javascript">
  49. checked=false;
  50. function checkedAll (uno) {
  51.     var aa= document.getElementById('uno');
  52.      if (checked == false)
  53.           {
  54.            checked = true
  55.            document.getElementById('volcan1').value=1;
  56.            document.getElementById('vol_actividad1').value=document.getElementById('volcan1').value;
  57.            document.getElementById('volcan2').value=2;
  58.            document.getElementById('vol_actividad2').value=document.getElementById('volcan2').value;
  59.            document.getElementById('volcan3').value=3;
  60.            document.getElementById('vol_actividad3').value=document.getElementById('volcan3').value;
  61.            document.getElementById('volcan4').value=4;
  62.            document.getElementById('vol_actividad4').value=document.getElementById('volcan4').value;
  63.            document.getElementById('volcan5').value=5;
  64.            document.getElementById('vol_actividad5').value=document.getElementById('volcan5').value;
  65.            document.getElementById('volcan6').value=6;
  66.            document.getElementById('vol_actividad6').value=document.getElementById('volcan6').value;
  67.           }
  68.         else
  69.           {
  70.           checked = false
  71.           document.getElementById('volcan1').value=0;
  72.   document.getElementById('vol_actividad1').value=document.getElementById('volcan1').value;
  73.   document.getElementById('volcan2').value=0;
  74.   document.getElementById('vol_actividad2').value=document.getElementById('volcan2').value;
  75.   document.getElementById('volcan3').value=0;
  76.   document.getElementById('vol_actividad3').value=document.getElementById('volcan3').value;
  77.   document.getElementById('volcan4').value=0;
  78.   document.getElementById('vol_actividad4').value=document.getElementById('volcan4').value;
  79.   document.getElementById('volcan5').value=0;
  80.   document.getElementById('vol_actividad5').value=document.getElementById('volcan5').value;
  81.   document.getElementById('volcan6').value=0;
  82.   document.getElementById('vol_actividad6').value=document.getElementById('volcan6').value;
  83.          
  84.          
  85.           }
  86.     for (var i =0; i < aa.elements.length; i++)
  87.     {
  88.      aa.elements[i].checked = checked;
  89.      
  90.     }
  91.       }
  92. </script>
  93.  
  94.  
  95. [HIGHLIGHT="HTML"]
  96.  
  97. <form method="post"  action="index.php?controller=actividad_&accion=list_vol_fec" name="uno" id="uno">
  98.       <br />
  99.        <form>
  100. <input name="fec_ini_actividad" type="text" id="fec_ini_actividad" class="required campos_texto" />
  101.  
  102.  
  103.  
  104. <br/>
  105. [HIGHLIGHT="PHP"]
  106. <?php
  107.                                     $cont = 1;
  108.                                     foreach($fv as $field)
  109.                                     {
  110.                                        
  111.                                        
  112.                                         echo $field[nom_volcan]."<input type='checkbox' name='volcan$cont' id ='volcan$cont' value='vol_actividad$cont' onclick='calcular()'><input name ='vol_actividad$cont' type='text' id ='vol_actividad$cont' value='0'/>";
  113.                                         echo "<br/>";
  114.                                         $cont++;
  115.                                     }
  116.                            
  117.                                     ?>







Active Todos/ Desactive Todos<input type='checkbox' name='checkall' onclick='checkedAll(uno);'><br/>
<input type="submit" name="Submit" value="Consultar" class="botones"/>

</form>

[/HIGHLIGHT]


[/HIGHLIGHT]
  #8 (permalink)  
Antiguo 02/02/2012, 10:08
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años
Puntos: 37
Respuesta: cambiar valores de checkbox

Espero te pueda servir,

Saludos.

Código Javascript:
Ver original
  1. <script>
  2.     functiom calcular(obj){
  3.       var val = (obj.checked==true)?parseInt(obj.id.split("_")[1]).value):0;
  4.       obj.value=val;
  5.       document.getElementById("text_"+val.toString()).value=val;
  6.   }
  7.  
  8. </script>
  9.  
  10.  <input  type='checkbox' id="check_1" onclick="calcular(this)" />
  11.     Cambia value
  12.     Value del checkbox:
  13.   <input  type="text" id="text_1" />
  14.  
  15.  <input  type='checkbox' id="check_2" onclick="calcular(this)" />
  16.     Cambia value
  17.     Value del checkbox:
  18.   <input  type="text" id="text_2" />
  19.  
  20. ....
  21. ....
  22. ...
  23. ....
  24. n
__________________
Born to be free.
  #9 (permalink)  
Antiguo 02/02/2012, 11:22
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

goteen_mx gracias por responder

implemente tu codigo pero no me funciona me puedes decir que estoy haciendo mal?


<html>
<head>
<script type="text/javascript">
functiom calcular(obj){
var val = (obj.checked==true)?parseInt(obj.id.split("_")[1]).value):0;
obj.value=val;
document.getElementById("text_"+val.toString()).va lue=val;
}

</script>
</head>
<body>
<form>
<input type='checkbox' id="check_1" onclick="calcular(this)" />
Cambia value
Value del checkbox:
<input type="text" id="text_1" />

<input type='checkbox' id="check_2" onclick="calcular(this)" />
Cambia value
Value del checkbox:
<input type="text" id="text_2" />
</form>
</body>
</html>
  #10 (permalink)  
Antiguo 02/02/2012, 11:38
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años
Puntos: 37
Respuesta: cambiar valores de checkbox

Oye amigo, por favor revisa de menos un poco el código, esto es para darte una idea, no para hacerte el trabajo, por que solo copiaste y pegaste, si lo revisas, verás qeu funcition me equivoque y puse m en vez de n y asi errores de dedo, el de abajo ya está probado y funciona.

<html>
<head>
<script type="text/javascript">
function calcular(obj){
var val = (obj.checked == true)? obj.id.split("_")[1] : 0;
obj.value = val;
document.getElementById("text_"+ obj.id.split("_")[1]).value = val;
}

</script>
</head>
<body>
<form>
<input type='checkbox' id="check_1" onclick="calcular(this);" />
Cambia value
Value del checkbox:
<input type="text" id="text_1" />

<input type='checkbox' id="check_2" onclick="calcular(this);" />
Cambia value
Value del checkbox:
<input type="text" id="text_2" />
</form>
</body>
</html>
__________________
Born to be free.
  #11 (permalink)  
Antiguo 02/02/2012, 13:36
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

Gracias por responder goteen_mx ,apenas estoy empezando en el desarrollo por eso se me dificulta un poco pero tengo muchas ganas de aprender

el codigo que me enviaste me sirve mucho

ahora necesito que checkear checkboxMarcar / desmarcar todos
si estan chekeados asignar el valor que se necesita y si se deschekean que quede cero


<html>
<head>
<script type="text/javascript">
function calcular(obj){
var val = (obj.checked == true)? obj.id.split("_")[1] : 0;
obj.value = val;
document.getElementById("text_"+ obj.id.split("_")[1]).value = val;
}

</script>
<script type="text/javascript">
checked=false;
function checkedAll (frm1) {
var aa= document.getElementById('frm1');
if (checked == false)
{
checked = true
}
else
{
checked = false
}
for (var i =0; i < aa.elements.length; i++)
{
aa.elements[i].checked = checked;


}
}
</script>
<!-- Script by hscripts.com -->


</head>
<body>
<form id ="frm1">


<input type='checkbox' id="check_1" onclick="calcular(this);" />
Cambia value
Value del checkbox:
<input type="text" id="text_1" />
<br/>
<input type='checkbox' id="check_10" onclick="calcular(this);" />
Cambia value
Value del checkbox:
<input type="text" id="text_10" />
<br/>
<input type='checkbox' id="check_3" onclick="calcular(this);" />
Cambia value
Value del checkbox:
<input type="text" id="text_3" />
<br/>

<br/>
<br/>
<br/>
<br>
Marcar / desmarcar todos

<input type='checkbox' name='checkall' onclick='checkedAll(frm1);'>
</form>
</body>
</html>
  #12 (permalink)  
Antiguo 02/02/2012, 14:01
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: cambiar valores de checkbox

Es un poco de logica, si ya tenias lo que necesitabas deberias pensar como solucionarlo.
Si tu problema es que solo es para un numero definido de checks, y tienes varios if que solo los diferencia un numero incrementable , deberias hacer un ciclo, y si tu problema es saber hasta cuando hacer tu ciclo, envia el total de checks en la funcion en tu caso creo te serviria la variable $cont

Cita:
<script languaje="javascript">

function checkedAll(totalchecks)
{
for(i=1;i<=totalchecks;i++)
{
document.getElementById('check'+i).checked=documen t.getElementById('checkall').checked;
}
calcular(totalchecks);
}
function calcular(totalchecks)
{
for(i=1;i<=totalchecks;i++)
{
if (document.getElementById('check'+ i).checked==true)
{
document.getElementById('check'+ i).value=1;
document.getElementById('text'+ i).value=document.getElementById('check'+i).value;
}
else
{
document.getElementById('check'+i).value=0;
document.getElementById('text'+i).value=document.g etElementById('check'+i).value;
}
}
}

</script>
<?
$totalcheck="3";//aqui seria tu variable $cont o alguna variable que almacene el total de tus check en tu consulta
?>
<form action="respueta.php" method="post" name="uno" id="uno">
<p>
<input name="uno" type='checkbox' id="check1" onclick='calcular(<?echo $totalcheck?>)'/>
Cambia Value del checkbox:
<input name="uno" type="text" id="text1" />
<br />
<input name="dos" type='checkbox' id="check2" onclick='calcular(<?echo $totalcheck?>)'/>
Cambia value del checkbox:
<input name="dos" type="text" id="text2" />
<br />
<input name="tres" type='checkbox' id="check3" onclick='calcular(<?echo $totalcheck?>)'/>
Cambia Value del checkbox:
<input name="tres" type="text" id="text3" />
<br />
<input name="tres" type='checkbox' id="check4" onclick='calcular(<?echo $totalcheck?>)'/>
Cambia Value del checkbox:
<input name="tres" type="text" id="text4" />
<br />
<label>
<input name="submit" type="submit" id="submit" value="Enviar" />
</label>
</p>
<input type='checkbox' name='checkall' id="checkall" onclick='checkedAll(<?echo $totalcheck?>);'/>
</form>
el anterior te funciona para "n" cantidad de checks, dale una revisaba y no solo lo copies y pegues
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”

Última edición por PIRRUMAN; 02/02/2012 a las 14:04 Razón: agregar comentario
  #13 (permalink)  
Antiguo 02/02/2012, 14:22
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

PIRRUMAN gracias por responder

estoy trantando de implementar tu codigo para 4 checkbox por no me funciona
le ves algun error?

gracias

<html>
<head>
<script type="text/javascript">
function calcular(obj){
var val = (obj.checked == true)? obj.id.split("_")[1] : 0;
obj.value = val;
document.getElementById("text_"+ obj.id.split("_")[1]).value = val;
}

</script>
<script languaje="javascript">

function checkedAll(totalchecks)
{
for(i=1;i<=totalchecks;i++)
{
document.getElementById('check'+i).checked=documen t.getElementById('checkall').checked;
}
calcular(totalchecks);
}
function calcular(totalchecks)
{
for(i=1;i<=totalchecks;i++)
{
if (document.getElementById('check'+ i).checked==true)
{
document.getElementById('check'+ i).value=1;
document.getElementById('text'+ i).value=document.getElementById('check'+i).value;
}
else
{
document.getElementById('check'+i).value=0;
document.getElementById('text'+i).value=document.g etElementById('check'+i).value;
}
}
}

</script>




</head>
<body>
<?
$totalcheck="4";
?>

<form action="respueta.php" method="post" name="uno" id="uno">
<p>
<input name="uno" type='checkbox' id="check1" onclick='calcular(<?echo $totalcheck?>)'/>
Cambia Value del checkbox:
<input name="uno" type="text" id="text1" />
<br />
<input name="dos" type='checkbox' id="check2" onclick='calcular(<?echo $totalcheck?>)'/>
Cambia value del checkbox:
<input name="dos" type="text" id="text2" />
<br />
<input name="tres" type='checkbox' id="check3" onclick='calcular(<?echo $totalcheck?>)'/>
Cambia Value del checkbox:
<input name="tres" type="text" id="text3" />
<br />
<input name="tres" type='checkbox' id="check4" onclick='calcular(<?echo $totalcheck?>)'/>
Cambia Value del checkbox:
<input name="tres" type="text" id="text4" />
<br />
<label>
<input name="submit" type="submit" id="submit" value="Enviar" />
</label>
</p>
<input type='checkbox' name='checkall' id="checkall" onclick='checkedAll(<?echo $totalcheck?>);'/>
</form>
</body>
</html>
  #14 (permalink)  
Antiguo 02/02/2012, 15:05
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: cambiar valores de checkbox

Dos cosas:
1.-
Cita:
el anterior te funciona para "n" cantidad de checks, dale una revisaba y no solo lo copies y pegues
2.- Utiliza un buen IDE que te muestre los errores basicos, ¿Cual utilizas?
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #15 (permalink)  
Antiguo 02/02/2012, 15:19
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

HOLA PIRRUMAN

estoy utilizando notepad++

tengo varias dudas

onclick='calcular(<?echo $totalcheck?>)'

en esa linea si puede ir codigo php?

ayudame no me funciona el codigo
hasta le momento no hace nada no se que hacer

<body>
<?
$totalcheck="4";
?>

en esta linea le estoy enviando el numero de checkbox porque no funciona ?
  #16 (permalink)  
Antiguo 02/02/2012, 15:28
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: cambiar valores de checkbox

para ayudarte a programar deberias usar un IDE , a veces los errores mas comunes te causan perdida de tiempo

no funciona por que le diste copiar y pegar ..

en la funcion
Cita:
function checkedAll(totalchecks)
{
for(i=1;i<=totalchecks;i++)
{
//EN ESTA LINEA TIENE UN ESPACIO " documen t.getElementById " QUITALO
document.getElementById('check'+i).checked=documen t.getElementById('checkall').checked;
}
calcular(totalchecks);
}
function calcular(totalchecks)
{
for(i=1;i<=totalchecks;i++)
{
if (document.getElementById('check'+ i).checked==true)
{
document.getElementById('check'+ i).value=1;
document.getElementById('text'+ i).value=document.getElementById('check'+i).value;
}
else
{
document.getElementById('check'+i).value=0;
//EN ESTA LINEA TIENE UN ESPACIO " document.g etElementById " QUITALO
document.getElementById('text'+i).value=document.g etElementById('check'+i).value;
}
}
}
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #17 (permalink)  
Antiguo 02/02/2012, 15:43
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

tienes toda la rozon PIRRUMAN muchas gracias ya me funciona

pero todavia me falta para completar el requerimiento

los checkbox los genero desde una consulta

Código PHP:
Ver original
  1. <?php
  2.                                     $cont = 1;
  3.                                     foreach($fv as $field)
  4.                                     {
  5.                                        
  6.                                        
  7.                                         echo $field[nom_volcan]."<input type='checkbox' name='volcan$cont' id ='volcan$cont' value='vol_actividad$cont' onclick='calcular()'><input name ='vol_actividad$cont' type='text' id ='vol_actividad$cont' value='0'/>";
  8.                                         echo "<br/>";
  9.                                         $cont++;
  10.                                     }
  11.                            
  12.                                     ?>

necesito que deacuerdo al id de cada checkbox al checkearlo cambie el input
ejemplo

check1 check = input value=1
check2 check = input value=2
check10 check = input value=10

y al momento de <input type='checkbox' name='checkall' id="checkall" onclick='checkedAll(<?echo $totalcheck?>);'/>

si se checkea que queden los valores anteriores y se deschequean queden 0


tengo la siguiente instruccion y quiero adaptarla a tu codigo pero no se

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function calcular(obj){
  3. var val = (obj.checked == true)? obj.id.split("_")[1] : 0;
  4. obj.value = val;
  5. document.getElementById("text_"+ obj.id.split("_")[1]).value = val;
  6. }
  7.  
  8. </script>



<html>
<head>
<script languaje="javascript">

function checkedAll(totalchecks)
{
for(i=1;i<=totalchecks;i++)
{
document.getElementById('check'+i).checked=documen t.getElementById('checkall').checked;
}
calcular(totalchecks);
}
function calcular(totalchecks)
{
for(i=1;i<=totalchecks;i++)
{
if (document.getElementById('check'+ i).checked==true)
{
document.getElementById('check'+ i).value=1;
document.getElementById('text'+ i).value=document.getElementById('check'+i).value;
}
else
{
document.getElementById('check'+i).value=0;
document.getElementById('text'+i).value=document.g etElementById('check'+i).value;
}
}
}

</script>




</head>
<body>
<?
$totalcheck="4";
?>

<form action="respueta.php" method="post" name="uno" id="uno">
<p>
<input name="uno" type='checkbox' id="check1" onclick='calcular(<?echo $totalcheck?>)'/>
Cambia Value del checkbox:
<input name="uno" type="text" id="text1" />
<br />
<input name="dos" type='checkbox' id="check2" onclick='calcular(<?echo $totalcheck?>)'/>
Cambia value del checkbox:
<input name="dos" type="text" id="text2" />
<br />
<input name="tres" type='checkbox' id="check3" onclick='calcular(<?echo $totalcheck?>)'/>
Cambia Value del checkbox:
<input name="tres" type="text" id="text3" />
<br />
<input name="tres" type='checkbox' id="check4" onclick='calcular(<?echo $totalcheck?>)'/>
Cambia Value del checkbox:
<input name="tres" type="text" id="text4" />
<br />
<label>
<input name="submit" type="submit" id="submit" value="Enviar" />
</label>
</p>
<input type='checkbox' name='checkall' id="checkall" onclick='checkedAll(<?echo $totalcheck?>);'/>
</form>

</body>
</html>
  #18 (permalink)  
Antiguo 02/02/2012, 15:45
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

PIRRUMAN lo hice


con la siguiente instruccion

document.getElementById('check'+ i).value=i;
  #19 (permalink)  
Antiguo 02/02/2012, 15:47
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: cambiar valores de checkbox

Alguien arriba debe quererte, casi nunca tengo tiempo libre, prueba esto..
Cita:
<html>
<head>
<script type="text/javascript">
function checkedAll(totalchecks)
{
for(i=1;i<=totalchecks;i++)
{
document.getElementById('check'+i).checked=documen t.getElementById('checkall').checked;

if (document.getElementById('check'+ i).checked==true)
{
document.getElementById('text'+ i).value=i;
}
else
{
document.getElementById('text'+i).value=0;
}
}
}

function calcular(totalchecks,id)
{
if (document.getElementById(totalchecks+id).checked== true)
{
document.getElementById('text'+id).value=id;
}
else
{
document.getElementById('text'+id).value=0;
}
}
</script>
</head>
<body>
<?
$totalcheck="4";
?>

<form action="respueta.php" method="post" name="uno" id="uno">
<p>
<input name="uno" type='checkbox' id="check1" onclick='calcular("check","1")'/>
Cambia Value del checkbox:
<input name="uno" type="text" id="text1" />
<br />
<input name="dos" type='checkbox' id="check2" onclick='calcular("check","2")'/>
Cambia value del checkbox:
<input name="dos" type="text" id="text2" />
<br />
<input name="tres" type='checkbox' id="check3" onclick='calcular("check","3")'/>
Cambia Value del checkbox:
<input name="tres" type="text" id="text3" />
<br />
<input name="tres" type='checkbox' id="check4" onclick='calcular("check","4")'/>
Cambia Value del checkbox:
<input name="tres" type="text" id="text4" />
<br />
<label>
<input name="submit" type="submit" id="submit" value="Enviar" />
</label>
</p>
<input type='checkbox' name='checkall' id="checkall" onclick='checkedAll(<?echo $totalcheck?>);'/>
</form>
</body>
</html>
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #20 (permalink)  
Antiguo 02/02/2012, 15:48
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: cambiar valores de checkbox

verifica q no haya espacios como la vez anterior por alguna razon se imprimen cuando los copio
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #21 (permalink)  
Antiguo 02/02/2012, 16:06
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

PIRRUMAN muchas gracias

voy a probarlo con la consutla checkbox xon n

gracias por la ayuda
  #22 (permalink)  
Antiguo 02/02/2012, 16:11
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

hola PIRRUMAN

ya quite los espacios


pero al invocar esta funcion no
funciona

<input type='checkbox' name='checkall' id="checkall" onclick='checkedAll(<?echo $totalcheck?>);'/>

tengo una duda

si voy a implementar este codigo para que sirva paa n elementos
onclick='calcular("check","1")'
onclick='calcular("check","2")'
onclick='calcular("check","3")'
como hago para indicarle
el valor del check
  #23 (permalink)  
Antiguo 02/02/2012, 16:17
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: cambiar valores de checkbox

esa funcion no hace nada por que tiene un espacio -.-"

Cita:
function checkedAll(totalchecks)
{
for(i=1;i<=totalchecks;i++)
{
//aqui>>>>>
document.getElementById('check'+i).checked=documen t.getElementById('checkall').checked;

if (document.getElementById('check'+ i).checked==true)
Cita:
si voy a implementar este codigo para que sirva paa n elementos
onclick='calcular("check","1")'
onclick='calcular("check","2")'
onclick='calcular("check","3")'
como hago para indicarle
el valor del check
a que te refieres ? a como hacerlo? o explicarte como lo hace?
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #24 (permalink)  
Antiguo 02/02/2012, 16:24
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

hola PIRRUMAN

si explicame voy que tenes mas experiencia

te lo agradeceria

muchas gracias
  #25 (permalink)  
Antiguo 02/02/2012, 16:36
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: cambiar valores de checkbox

Debido a que tus check son dinamicos, y solo los diferencia un autoincrementable check1, check2,etc

puedes manipularlos con un ciclo for teniendo en cuenta que el nombre no cambia, que solo lo hace el numero,

por ejemplo

for($i=1;$i<=4;$i++)
{
print $i."<br>";
}

esto te imprimiria :
1
2
3
4

solo es cuestion de agregarle el nombre que tienen en comun "check"

for($i=1;$i<=4;$i++)
{
print "check".$i."<br>";
}

esto te imprimiria :
check1
check2
check3
check4

y antes de cada incremento podrias hacerle cualquier cosa con sus ids distintos entre si.
seria mucho mas complicado, si tus checks tuviesen nombres distintos
te funciono?
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #26 (permalink)  
Antiguo 02/02/2012, 18:02
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años
Puntos: 37
Respuesta: cambiar valores de checkbox

Yo en vez de enviarle en numero de elementos, lo haría recorriendo la colección inputs ya que si es desde una base de datos, se puede dar el caso que no sean consecutivos los id´s.

y con la misma función que puse desde el principio con 4 lineas más lo tienes solucionado.

Saludos.
__________________
Born to be free.
  #27 (permalink)  
Antiguo 02/02/2012, 20:12
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

hola goteen_mx he intentado implementar el codigo

pero no funciona el checkbox que activa o desactiva todos y no me funciona ya queite los espacios que me dijiste


<html>
<head>
<script type="text/javascript">
function checkedAll(totalchecks)
{
for(i=1;i<=totalchecks;i++)
{
document.getElementById('check'+i).checked=documen t.getElementById('checkall').checked;

if (document.getElementById('check'+i).checked==true)
{
document.getElementById('text'+i).value=i;
}
else
{
document.getElementById('text'+i).value=0;
}
}
}

function calcular(totalchecks,id)
{
if (document.getElementById(totalchecks+id).checked== true)
{
document.getElementById('text'+id).value=id;
}
else
{
document.getElementById('text'+id).value=0;
}
}
</script>
</head>
<body>
<?
$totalcheck="4";
?>

<form action="respueta.php" method="post" name="uno" id="uno">
<p>
<input name="uno" type='checkbox' id="check1" onclick='calcular("check","1")'/>
Cambia Value del checkbox:
<input name="uno" type="text" id="text1" />
<br />
<input name="dos" type='checkbox' id="check2" onclick='calcular("check","2")'/>
Cambia value del checkbox:
<input name="dos" type="text" id="text2" />
<br />
<input name="tres" type='checkbox' id="check3" onclick='calcular("check","3")'/>
Cambia Value del checkbox:
<input name="tres" type="text" id="text3" />
<br />
<input name="tres" type='checkbox' id="check4" onclick='calcular("check","4")'/>
Cambia Value del checkbox:
<input name="tres" type="text" id="text4" />
<br />
<label>
<input name="submit" type="submit" id="submit" value="Enviar" />
</label>
</p>
<input type='checkbox' name='checkall' id="checkall" onclick='checkedAll(<?echo $totalcheck?>);'/>
</form>
</body>
</html>
  #28 (permalink)  
Antiguo 02/02/2012, 20:50
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

hola goteen_mx

Yo en vez de enviarle en numero de elementos, lo haría recorriendo la colección inputs ya que si es desde una base de datos, se puede dar el caso que no sean consecutivos los id´s.

como seria?

<html>
<head>
<script type="text/javascript">
function calcular(obj){
var val = (obj.checked == true)? obj.id.split("_")[1] : 0;
obj.value = val;
document.getElementById("text_"+ obj.id.split("_")[1]).value = val;
}

</script>
<script type="text/javascript">
checked=false;

function checkedAll (frm1) {
var aa= document.getElementById('frm1');

if (checked == false)
{
checked = true


}
else
{
checked = false
}
for (var i =0; i < aa.elements.length; i++)
{
aa.elements[i].checked = checked;
aa.elements[i].value=1;

}
}
</script>



</head>
<body>
<form id="frm1">


<input type='checkbox' id="check_1" onClick="calcular(this);" />
Cambia value
Value del checkbox:
<input type="text" id="text_1" />
<br/>
<input type='checkbox' id="check_10" onClick="calcular(this);" />
Cambia value
Value del checkbox:
<input type="text" id="text_10" />
<br/>
<input type='checkbox' id="check_3" onClick="calcular(this);" />
Cambia value
Value del checkbox:
<input type="text" id="text_3" />
<br/>

<br/>
<br/>
<br/>
<br>
Marcar / desmarcar todos

<input type='checkbox' name='checkall' id="checkall" onclick='checkedAll(<?echo $totalcheck?>);'/>

</form>
</body>
</html>
  #29 (permalink)  
Antiguo 02/02/2012, 21:14
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: cambiar valores de checkbox

hola goteen_mx

tienes razon acerca de "Yo en vez de enviarle en numero de elementos, lo haría recorriendo la colección inputs ya que si es desde una base de datos, se puede dar el caso que no sean consecutivos los id´s."

explicame un poco es que necesito realizar este codigo por favor
  #30 (permalink)  
Antiguo 03/02/2012, 11:17
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años
Puntos: 37
Respuesta: cambiar valores de checkbox

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function calcular(obj, opc){
  5.     if(opc==1)
  6.         obj.checked = (document.getElementById("chk_todos").checked==true)?true:false;
  7.     var val = (obj.checked == true)? obj.id.split("_")[1] : 0;
  8.     obj.value = val;
  9.     document.getElementById("text_"+ obj.id.split("_")[1]).value = val;
  10. }
  11.  
  12. function calcularTodos(){
  13.     for(var i = 0 ; i < document.getElementsByName("chk").length; i++)
  14.         calcular(document.getElementsByName("chk")[i], 1);
  15. }
  16.  
  17. </script>
  18. </head>
  19. <body>
  20. <form>
  21. <input name='chk' type='checkbox' id="check_1" onclick="calcular(this,0);" />
  22. Cambia value
  23. Value del checkbox:
  24. <input type="text" id="text_1" />
  25.  
  26. <input name='chk' type='checkbox' id="check_2" onclick="calcular(this,0);" />
  27. Cambia value
  28. Value del checkbox:
  29. <input type="text" id="text_2" />
  30. <br>
  31. Todos:
  32. <input type='checkbox' id='chk_todos' onclick="calcularTodos();" />
  33. </form>
  34. </body>
  35. </html>
__________________
Born to be free.

Última edición por goteen_mx; 03/02/2012 a las 11:22

Etiquetas: checkbox, input
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 04:37.