Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/07/2008, 06:24
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: javascript dentro del value

No tiene ningún sentido ni tener onclick="this.value" ni tener una función en el value de los options.

Lo que podrías hacer es:
1. Guardar los datos de los productos en un array independiente.

2. En el option meter sólo el id (sku) y en el select poner la llamada a mostrar en el onchange.

Algo de este tipo o parecido:

Código PHP:
<script>
productos = [];
</script>
<select name="caja" id="caja" onchange="mostrarProducto()">
    <option value="-1">Sin seleccion</option>
<?php
while ($row mysql_fetch_array($cajas)) {
    
$precioIva $row[product_price]*1.16;
    
$precioIva round($precioIva*100)/100;
?>
    <option value="<?php echo $row[product_sku];?>"><?php echo "$row[product_s_desc] - $precioIva"?></option>
<script>
productos['<?php echo $row[product_sku];?>'] = {
    sku: '<?php echo $row[product_sku];?>', 
    precioIva: '<?php echo $precioIva?>',
    desc: '<?php echo $row[product_desc?>'
};
</script><?php ?>
</select>
La función mostrarProducto() podría llamar a tu mostrar() (aunque sería mejor modificar tu función mostrar directamente):
Código:
function mostrarProducto() {
    var seleccionado = document.getElementById("caja").options[document.getElementById("caja").selectedIndex].value;
    mostrar(productos[seleccionado].sku,productos[seleccionado].precioIva,'caja',productos[seleccionado].desc);
}