Foros del Web » Programando para Internet » Javascript »

Select´s en javascript

Estas en el tema de Select´s en javascript en el foro de Javascript en Foros del Web. Hola,, estoy haciendo una especia de carro de compras, o pedido de compras con php y estoy estancado en un problema del cual yo la ...
  #1 (permalink)  
Antiguo 12/08/2005, 16:09
 
Fecha de Ingreso: agosto-2005
Mensajes: 4
Antigüedad: 19 años, 1 mes
Puntos: 0
Select´s en javascript

Hola,, estoy haciendo una especia de carro de compras, o pedido de compras con php y estoy estancado en un problema del cual yo la verdad no encuentro solucion, no se me ocurre nada ( y como siempre la respuesta esta a mis ojos.. pero no la veo )

La cosa es asi:

Se selecciona un articulo en un catalogo previo (una remera por ej.)

Se lista una tabla con los colores de esa remera junto a un input para escribir la cantidad del pedido en cada color.
Como los colores dependen de cada articulo, no se cuantos colores va a listar, asi que el input le asigno el valor c1, c2, c3, cn... Pero para procesarlo en php sin tantas complicaciones, lo reemplace por c[] y laburo el array c[0], c[1], c[2], c[n]...

Hasta ahi no tenia complicaciones, el problema aparecio cuando yo, en esa pagina donde estan los colores y demas yuyos, tengo un javascript que hace el calculo del subtotal del articulo y lo imprime en otro input para ir viendolo de forma "dinamica". Pero con javascript antes, tenia este codigo:


Código:
<script language='javascript' type='text/javascript'>
function precio(){ 
var a1 = document.pedido.c1.value * 0.01
var a2 = document.pedido.c2.value * 0.01
var a3 = document.pedido.c3.value * 0.01
var a4 = document.pedido.c4.value * 0.01
var result = eval(a1+++a2+++a3+++a4+++0)
document.pedido.at.value = result
}
</script>

por lo que tuve que reemplazarlo por este:


Código:
<script language='javascript' type='text/javascript'>
function precio(){ 
var a1 = document.pedido.c[1].value * 0.01
var a2 = document.pedido.c[2].value * 0.01
var a3 = document.pedido.c[3].value * 0.01
var a4 = document.pedido.c[4].value * 0.01
var result = eval(a1+++a2+++a3+++a4+++0)
document.pedido.at.value = result
}
</script>

El problema esta en los corchetes creo, pero no los puedo suprimir para poder laburar el array en php, y el numero lo necesitaria para poder identificar cada input en javascript...

Me estoy ahogando en un vaso de agua...? Alguien me tira un flota flota...?

Muchas GRacias de antemano!
  #2 (permalink)  
Antiguo 13/08/2005, 00:45
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 5 meses
Puntos: 1284
Hola dr_juice, bienvenido a los foros :

Todos los objetos separados por puntos se pueden entrecorchetar como cadenas entrecomilladas... , bueno, mejor te pongo el ejemplo:

Código:
<script language='javascript' type='text/javascript'>
function precio(){ 
var a1 = document.pedido["c[1]"].value * 0.01
var a2 = document.pedido["c[2]"].value * 0.01
var a3 = document.pedido["c[3]"].value * 0.01
var a4 = document.pedido["c[4]"].value * 0.01
var result = eval(a1+++a2+++a3+++a4+++0)
document.pedido.at.value = result
}
</script>
Una cosa que no entiendo es el porqué del eval ...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 18/08/2005, 14:22
 
Fecha de Ingreso: agosto-2005
Mensajes: 4
Antigüedad: 19 años, 1 mes
Puntos: 0
variables..

Hola, gracias por la bienvenida y la respuesta. Pero todavia no lo puedo solucuionar. Intente con estas 2 opciones y no pasa nada:
Código:
<script language='javascript' type='text/javascript'>
function precio(){
var a1 = document.pedido.["c[1]"].value * 0.01
var a2 = document.pedido.["c[2]"].value * 0.01
var a3 = document.pedido.["c[3]"].value * 0.01
var a4 = document.pedido.["c[4]"].value * 0.01
var result = eval(a1+++a2+++a3+++a4+++0)
document.pedido.at.value = result
 }</script>
y esta:
Código:
<script language='javascript' type='text/javascript'>
function precio(){
var a1 = document.pedido["c[1]"]value * 0.01
var a2 = document.pedido["c[2]"]value * 0.01
var a3 = document.pedido["c[3]"]value * 0.01
var a4 = document.pedido["c[4]"]value * 0.01
var result = eval(a1+++a2+++a3+++a4+++0)
document.pedido.at.value = result
 } </script>
pero no pasa nada...

El eval lo uso para hacer una suma de los campos para poner el resultado de esa suma en otro campo 'at'.

ideas de que pasa. ? Gracias!
  #4 (permalink)  
Antiguo 18/08/2005, 14:24
 
Fecha de Ingreso: agosto-2005
Mensajes: 4
Antigüedad: 19 años, 1 mes
Puntos: 0
ya esta.. ya lo solucione... muchas gracias igual! todo por un punto... :S :$ Gracias! :D
  #5 (permalink)  
Antiguo 19/08/2005, 06:04
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 5 meses
Puntos: 1284
¡Je, je!

Son cosas que suelen pasar...

Por cierto, para ese tipo de array desde javascript he respondido en ocasiones así:

var a1 = document.pedido["c[]"][1].value * 0.01;

No sé si será el mismo caso, pero tal vez te pueda servir la referencia.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 13:15.