| |||
Con javascript, esta claro. La cuestion es: la lista de precios la tienes completamenten cargada en tu pagina o debe de realizar peticiones al servidor para preguntar ? Si la respuesta es la primera, deberas. Crearte una funcion que sume al campo total del formulario el valor del select. Y lo gestionas en el evento onChange del select Cita: No se si habrá quedado claro!!! function sumatotal(dinerito){ document.<nombreformulario>.<nombreobjeto>.value=p arseFloat( document.<nombreformulario>.<nombreobjeto>.value)+ parseFloat(dinerito); } Última edición por vampirnet; 22/02/2005 a las 06:18 |
| |||
Cita: Claro, pero entonces tendras que tener un array donde para cada id almacenar el precio, tambien puedes utilizar el value combinado, es decir poner value="id|precio".
Iniciado por sanjo la lista de precios la obtiene de una base de datos y los valores de los elects tambien, es decir, en el select sale caja atx + 32 €, por ejemplo, y el value de ese option es el id del articulo Y cuando recuperes el valor, hacer un split por | y recoger el valor y sumarlo con la funcion que te he escrito antes. Lo correcto seria usar un array de precios.!!! |
| |||
Cita: Si lo haces asi, tendrias que recargar la pagina, haciendo una nueva consulta al servidor.
Iniciado por sanjo tambien lo que puedo hacer es obtener el id y con ese id luego hacer una nueva consulta a la base de datos y obtener el precio que tiene ese id no???? o seria peor, es que como me dices tu no se hacerlo
Código:
Jodo, te he escrito casi el programilla, el array de precios lo cargarias dinamicamente del servidor. //array de precios var precios = new Array[34,25,12,6]; function sumatotal(idselect){ var total = parseFloat( document.<nombreformulario>.<nombreobjeto>.value)+parseFloat(precios[idselect]) document.<nombreformulario>.<nombreobjeto>.value=total; } <html> <select onChange="sumatotal(this.value)"> <option id=1>Atx</option> .... .... </select> </html> Otra forma de hacerlo
Código:
Ala, un saludo. <html> <select onChange="sumatotal(this.value)"> <option id="1|25">Atx</option> <option id="2|150">Pentium IV</option> .... .... </html> funtion sumatotal(valor){ var campos = valor.split("|"); //campos[0] ---> id del producto //campos [1] ---> valor del producto document.<nombreformulario>.<nombreobjeto>.value= document.<nombreformulario>.<nombreobjeto>.value+campos[1]; } |
| ||||
oye otra dudilla, haber ya lo he echo y me funciona
Código:
ahora bien el select depende de cual coja es s1, s2,s3,s4,s5,etc.... como hago para qeu ese metodo o función me reconozca es formulario y de esa manera coja el valor, es decir a mi me cambia el document.frm.s1.value html> <select onChange="sumatotal(this.value)"> <option id="25">Atx</option> <option id="150">Pentium IV</option> .... .... </html> funtion sumatotal(valor){ var campos = valor; document.frm.t1.value= document.frm.s1.value; } |