Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/11/2012, 05:16
barbel
 
Fecha de Ingreso: septiembre-2012
Ubicación: Pontevedra
Mensajes: 48
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Actualizar una variable php con Jquery con un radiobuttom

Entiendo lo que me quieres decir, pero tengo problemas con el como ya que algunas de las variables no se exactamente como pasarlas ya que estan fuera del input te explico.
  • En mi codigo, como puedes ver el value de los radiobox, es un id de identificación para poder diferenciarlos unos del otros. Despues al cerrar el input es cuando cargo (en funcion de ese id) el precio de la seleccion. Por lo tanto al hacer la función onchange el valor que paso arriba no es el percio, sino el id, por lo que creo que debo pasar directamente el precio como un integer.
  • Influye en la función en javascript que el input del cual deseo cambiar el valor este declarado despues de la función onchange?

En cualquier caso te paso el codigo fuente de lo que hice (que posiblemente este bugeado por todas partes...)

Código PHP:
echo "<table>";
                        echo 
"<tr><td><input type='radio' name='complementos' value='0' checked><td>Ninguno<td> <td>+ 0 &euro;";
                        for(
$i=0;$i<sizeof($complementos);$i++){
                            if(
$complementos[$i]!=""){
                            
$q4="SELECT * FROM tbcomplementos WHERE id=".$complementos[$i];
                            
mysql_select_db($dbname);
                            
$r4=  mysql_query($q4); 
                            if(
$f4=mysql_fetch_array($r4)){
                                
$q1="SELECT * FROM tbprecio_servicios WHERE id=".$_POST[precios];
                                
mysql_select_db($dbname);
                                
$r1=  mysql_query($q1);
                                if(
$f1=  mysql_fetch_array($r1)){
                                    echo 
"<tr><td><input type='radio' onChange='CambiaValor(precio,".$f4[precio].",".$f1[precio].")' name='complementos' value='".$f4[id]."'><td>".$f4[nombre_visible]."<td> <td> +".$f4[precio]."&euro; <br/>";
                                }
                            }
                            }
                        }
                        echo 
"</table>";
                        
                    }
                    else{ echo 
"<a class='titselec'>Para este servicio no existe ningun complemento vinculado.</a>"; }
                    }
                    
$q1="SELECT * FROM tbprecio_servicios WHERE id=".$_POST[precios];
                    
mysql_select_db($dbname);
                    
$r1=  mysql_query($q1);
                    if(
$f1=  mysql_fetch_array($r1)){
                    echo 
'Precio final : <input type="text" name="precio" value="'.$f1[precio].'">';
                    } 
y la función declarada en el header:

Código HTML:
<script language="javascript">
    function CambiaValor(caja,radio,precio){
        caja.value=radio+precio;
    }
</script> 
A mayores de esto y unicamente por nivel estetico, que input deberia usar para el precio final de abajo para que no me aparezca como una caja editable, que el puede borrar o manipular.

Otra vez muchas gracias.