Foros del Web » Programando para Internet » Javascript »

Contar un checkbox

Estas en el tema de Contar un checkbox en el foro de Javascript en Foros del Web. Hola amigos espero me puedan ayuda, el problema que tengo es que me urge contar un checkbox estoy trabajando con base de datos, me explico ...
  #1 (permalink)  
Antiguo 17/01/2014, 18:32
Avatar de xDrealucard  
Fecha de Ingreso: enero-2014
Mensajes: 8
Antigüedad: 10 años, 4 meses
Puntos: 0
Contar un checkbox

Hola amigos espero me puedan ayuda, el problema que tengo es que me urge contar un checkbox estoy trabajando con base de datos, me explico mejor, tengo mi checkbox con el id="select_1" y como estoy trabajando con base de datos al momento de mostrar los checkbox no sabemos cuanto aparecera quisas 2 o mas. la cosa es que quiero que el id se aumente asi:
id="select_1"
id="select_2"
id="select_3"
id="select_4"
no se si me dejo entender espero que si ayudenme por favor.
dejo e codigo
<input type="checkbox" id="select_1" class="select" value="21"/>
  #2 (permalink)  
Antiguo 17/01/2014, 19:44
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Contar un checkbox

La cantidad de elementos la obtienes mediante el método length de esta forma:

Código HTML:
Ver original
  1. <input type = "checkbox" class = "check" />
  2. <input type = "checkbox" class = "check" />
  3. <input type = "checkbox" class = "check" />

Código Javascript:
Ver original
  1. var checkboxes = document.getElementsByClassName("check").length;
  2.  
  3. alert(checkboxes); //Imprime 3

Ahora bien, como estás trabajando con una base de datos, la cantidad de datos a listar en checkboxes, la obtendrás a través de un lenguaje que trabaje del lado del servidor, como PHP o ASP, por lo que sería en el lado del servidor en donde crearías los checkboxes.

Código PHP:
Ver original
  1. <?php
  2. $id = 0;
  3. while ($row = mysqli_fetch_array($query)){
  4.     $id++;
  5. ?>
  6.     <input type = "checkbox" id = "select_<?=$id?>" />
  7. <?php
  8. }
  9. ?>

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 17/01/2014, 19:59
Avatar de xDrealucard  
Fecha de Ingreso: enero-2014
Mensajes: 8
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Contar un checkbox

Alexis88 gracias brother te pasaste ahora ya se como hacerlo, muy agradecido contigo.
  #4 (permalink)  
Antiguo 18/01/2014, 14:56
Avatar de xDrealucard  
Fecha de Ingreso: enero-2014
Mensajes: 8
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Contar un checkbox

Nuevamente soy yo tengo otra duda por favor espero me ayuden.
lo que pasa es que tengo mi checkbox

<input type="checkbox" id="select_1" class="select" value="21,ELVIS,2013"/>

si se dan cuenta el value tiene este dato value="21,ELVIS,2013" en total 3 datos diferentes que estan separados por coma. ahora lo que yo quiero es extraer solo el primer valor osea el 21, como lo haria por favor me urge. estare muy agradecido.
  #5 (permalink)  
Antiguo 18/01/2014, 20:54
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Contar un checkbox

Puedes descomponer el valor en 3 partes a partir de las comas.

En PHP:
Código PHP:
Ver original
  1. $checkbox = "21,ELVIS,2013";
  2. $valor = explode(",", $checkbox);
  3.  
  4. echo $valor[0]; //Imprime 21
  5. echo $valor[1]; //Imprime ELVIS
  6. echo $valor[2]; //Imprime 2013

En JavaScript:
Código Javascript:
Ver original
  1. var checkbox = document.getElementById("select_1").value,
  2.     valor = checkbox.split(",");
  3.  
  4. alert(valor[0]); //Imprime 21
  5. alert(valor[1]); //Imprime ELVIS
  6. alert(valor[2]); //Imprime 2013

Cuando descompones el valor del checkbox en 3 partes, generas un array, es por eso que utilizo índices para ubicar los valores.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 18/01/2014, 21:47
Avatar de xDrealucard  
Fecha de Ingreso: enero-2014
Mensajes: 8
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Contar un checkbox

una preguntita mas, si en caso sea varios checkbox como lo captura... lo que pasa es que se genera con base de datos y yo desea capturar solo un dato del value como lo explique.

Última edición por xDrealucard; 18/01/2014 a las 21:53
  #7 (permalink)  
Antiguo 18/01/2014, 21:53
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Contar un checkbox

Si deseas tomar el valor de un checkbox en particular, deberías basarte en su Id.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #8 (permalink)  
Antiguo 18/01/2014, 22:02
Avatar de xDrealucard  
Fecha de Ingreso: enero-2014
Mensajes: 8
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Contar un checkbox

mira me explico mejor lo que estoy haciendo es que tengo una base de datos y quiero mostrar datos mediante checkbox y al momento que yo selecciono un checkbox me tiene que mostrar los datos seleccionados en otra pagina. es por eso que mi value de mi checkbox es asi:
value='$fila[6];$fila[7];$fila[0];$fila[1];$fila[2];$fila[3];$fila[5]'

pero yo estoy haciendo un javascript para que cierto id que son igual no se seleccionen y lo que me urge ami es capturar un dato osea la $fila[6]. ese dato contiene un ID. y en el javascript qe estoy haciendo es que si los id son iguales el otro se desactiva.. pero mi problema es que en ese value hay varios datos.. hay id, letras y otras cosas mas.. ami solo me urge un id que esta en la $fila[6]. por favor como hariamos espero me entiendas.
  #9 (permalink)  
Antiguo 18/01/2014, 22:24
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Contar un checkbox

Para empezar, no es correcto que coloques el mismo Id a más de un elemento, pueden tener el mismo nombre, por ejemplo, para trabajar con un array de elementos, pero no pueden tener el mismo Id. Como trabajas con checkbox, deberías tratarlos como un array de checkbox, dándoles un valor en el atributo name así:

Código HTML:
Ver original
  1. <input type = "checkbox" name = "miArray[]" value = "A" />
  2. <input type = "checkbox" name = "miArray[]" value = "B" />
  3. <input type = "checkbox" name = "miArray[]" value = "C" />

Y cuando recibes los valores en PHP, lo haces así:

Código PHP:
Ver original
  1. foreach ($_POST["miArray"] as $dato) {
  2.     echo $dato . "<br />";
  3. }

Lo anterior imprimirá esto:

Código HTML:
Ver original
  1. A
  2. B
  3. C

Ahora bien, esa forma de insertar valores, no es la adecuada. Me gustaría ver la línea completa de un checkbox para saber cómo lo estás haciendo y de dónde tomas los valores, así podré ayudarte.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #10 (permalink)  
Antiguo 18/01/2014, 22:38
Avatar de xDrealucard  
Fecha de Ingreso: enero-2014
Mensajes: 8
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Contar un checkbox

mysql_connect("localhost","root","root");
mysql_select_db("bddatos");
$consulta="select * from datos";
$resultado=mysql_query($consulta);
$id = 0;
while($fila=mysql_fetch_row($resultado)) {$id++;
<input type='checkbox' name='matricula[]' value='$fila[8]' value='$fila[6];$fila[7];$fila[0];$fila[1];$fila[2];$fila[3];$fila[5]' selected='selected' class='select' id='select_$id'/>

este es solo quiero obtener el $fila[6] del value.
  #11 (permalink)  
Antiguo 18/01/2014, 23:02
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Contar un checkbox

De esta forma, no estás asignando los valores correctamente:

Código HTML:
Ver original
  1. value = $fila[6];$fila[7];$fila[0];$fila[1];$fila[2];$fila[3];$fila[5]

Si quieres separar los valores por comas, debe ser así:

Código PHP:
Ver original
  1. <?php
  2. while ($fila = mysql_fetch_row($resultado)) {
  3.     $id++;
  4.     $value = $fila[6] . "," . $fila[7] . "," . $fila[0] . "," . $fila[1] . "," . $fila[2] . "," . $fila[3] . "," . $fila[5];
  5. ?>
  6.     <input type='checkbox' name='matricula[]' value='<?=$value?>' selected='selected' class='select' id='select_$id'/>
  7. <?php
  8. }
  9. ?>

Por otro lado, veo que colocas dos veces el atributo value, en el primero le asignas el valor de $fila[8] y en el segundo, la cadena con los otros 7 valores. Solamente debes asignar un atributo value con su respectivo valor. Además, si me dices que deseas tomar el valor de $fila[6], ¿por qué no solamente asignas dicho valor?.

Código HTML:
Ver original
  1. value = <?=$fila[6]?>
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

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 00:32.