Foros del Web » Programando para Internet » Javascript »

OnClick: Cambiar el valor de un arreglo

Estas en el tema de OnClick: Cambiar el valor de un arreglo en el foro de Javascript en Foros del Web. Hola amigos.. hice un codigo muy simple que tiene unos checkboxes.. La idea es la siguiente: cada checkbox esta hecho asi Código PHP: <?php $todas  =  ...
  #1 (permalink)  
Antiguo 21/03/2010, 19:45
 
Fecha de Ingreso: abril-2007
Ubicación: Tandil, Bs As, Argentina
Mensajes: 106
Antigüedad: 17 años, 1 mes
Puntos: 2
OnClick: Cambiar el valor de un arreglo

Hola amigos.. hice un codigo muy simple que tiene unos checkboxes..

La idea es la siguiente: cada checkbox esta hecho asi

Código PHP:
<?php $todas mysql_query("SELECT IdDiferencia, Diferencia FROM DeDiferencias ORDER BY Diferencia") or die (mysql_error());
    
$cReg mysql_num_rows ($todas);
    
$busca mysql_query("SELECT IdDiferencia FROM Diferencias WHERE Diferencias.IdEstudiante = '$idBusca'") or die (mysql_error());
    
$cantRegistros mysql_num_rows ($busca);
    
// Para cada una de las posibles diferencias cargadas
    
for ($j 0$j $cReg$j++) {
        
$lineas mysql_fetch_assoc($todas);
        
$dif $lineas["Diferencia"];
        
$iddif $lineas["IdDiferencia"];
        
$si 0;
        
// Reviso cada una de las diferencias del alumno para ver cuales tiene activas
        
for ($i 0$i $cantRegistros$i++) { 
            
$lin mysql_fetch_assoc($busca);
            
$opcion $lin["IdDiferencia"];
            
// Comparo la diferencia de la lista con la del alumno. Si es la misma checkeo el boton ..
            
if ($iddif == $opcion) {
                echo 
"<li><input type='checkbox' checked name='hola' value='1' " ?> onClick="return cambiarValor($checks,$iddif)" <?php echo ">";
                echo 
$dif;
                echo 
"</li><br>";
                
$si 1;
                
$checks[$iddif] = 1;
            }
        };
        
// .. Sino lo imprimo sin checkear
        
if ($si == 0) {
            echo 
"<li><input type='checkbox' name='hola' value='0'" ?> onClick="return cambiarValor($checks,$iddif)" <?php echo ">";
            echo 
$dif;
            echo 
"</li><br>";
            
$checks[$iddif] = 0;
        }
        
// Reseteo el puntero del arreglo del query para poder volver a buscar
        
if ($cantRegistros != 0) {
            
mysql_data_seek($busca,0);
        }
    };
Cuando hago onClick en cada checkbox llamo(supuestamente) a esta funcion de javascript:

Código:
function cambiarValor(arreglo, posicion) {
	if (arreglo[posicion] == 1) {
		arreglo[posicion] = 0
	} else {
		arreglo[posicion] = 1
	}
	return true
}
Ahora bien.. se supone que eso modifica el valor y luego me queda listo para usarlo.. pero me dice "listo con errores" en el estado del navegador y no modifica nada :(

Alguna idea? Saludos y gracias!
  #2 (permalink)  
Antiguo 21/03/2010, 19:51
 
Fecha de Ingreso: diciembre-2006
Ubicación: Peruvian
Mensajes: 142
Antigüedad: 17 años, 4 meses
Puntos: 7
Respuesta: OnClick: Cambiar el valor de un arreglo

Podrias explicar bien que es lo que quieres hacer o que hace tu codigo:
una observacion, en la parte de la funcion javascript:
Código Javascript:
Ver original
  1. onClick="return cambiarValor($checks,$iddif)
sería:
Código PHP:
Ver original
  1. onClick="return cambiarValor(<?php echo $checks; ?>,<?php echo $iddif; ?>)
saludos
  #3 (permalink)  
Antiguo 21/03/2010, 20:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde PHP a Javascript
  #4 (permalink)  
Antiguo 21/03/2010, 20:04
 
Fecha de Ingreso: abril-2007
Ubicación: Tandil, Bs As, Argentina
Mensajes: 106
Antigüedad: 17 años, 1 mes
Puntos: 2
Respuesta: OnClick: Cambiar el valor de un arreglo

Ok.. me explico mejor xD

Lo que hago es tomar valores de posibles cosas que elegis de una base de datos.. a cada uno de los resultados le asigno un checkbox pero a su vez le voy el valor checked si es que ya lo tenia asignado la persona elegida.

Lo que tengo es un arreglo que me guarda un 1 si el checkbox esta apretado y un 0 si no lo esta.. la idea de la funcion es que me modifique ese 1 o 0 cuando hago click en el checkbox.. Los parametros que le mando son el arreglo y la posicion. La posicion es el ID de la opcion que muestro que coincide con el de la base de datos.. Entonces despues busco todas las posiciones del arreglo que son 1 y creo vinculos con otra tabla en mi base de datos.

No se si se entiende xD

Etiquetas: onclick, arreglos
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 14:22.