Quizá está pregunta para vosotros sea algo fácil, pero yo he empezado hace 2 semanas y ando algo perdido.
Estoy creando un formulario con algo parecido a una lista de la compra en la que se seleccionan los artículos en un combo (que almacena su importe), el usuario introduce las unidades y luego se calcula el importe.
Como quiera que los artículos son variables, he tratado de hacer que los select se añadan dinámicamente. Para ello me he basado en [URL="http://www.telefonica.net/web2/blas-mar/crear.html"]este tuto[/URL].
Todo bien hasta que tengo que tomar los valores de los artículos seleccionados en el combo para calcular los subtotales. Ahí me pierdo, porque no sé cómo llamar de forma genérica a los correspondientes select y texts. Es por eso que os pido ayuda.
Tened en cuenta, que no solo me interesa obtener subtotales, si no también un total que sea la suma de los mismos, y con el cuál tendré que seguir operando en adelante.
Mi código:
Código:
Con respecto al ejemplo, he cambiado los nombres de los elementos (era siempre div+num), creo que eso ha hecho que el botón de borrar no funcione. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html> <head> <title>Crear input file</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript"> <!-- num=0; function crear(obj) { num++; fi = document.getElementById('fiel'); contenedor = document.createElement('div'); contenedor.id = 'div'+num; fi.appendChild(contenedor); var arraytextos=new Array(8) arraytextos[0] = "Text" arraytextos[1] = "Numero" arraytextos[2] = "Compaq 686" arraytextos[3] = "Dell 486" arraytextos[4] = "Dell 586" arraytextos[5] = "Dell 686" arraytextos[6] = "IBM 486" arraytextos[7] = "IBM 586" arraytextos[8] = "IBM 686" var arrayvalores=new Array(8) arrayvalores[0] = "20" arrayvalores[1] = "10" arrayvalores[2] = "30" arrayvalores[3] = "50" arrayvalores[4] = "10" arrayvalores[5] = "8" arrayvalores[6] = "7" arrayvalores[7] = "14" arrayvalores[8] = "50" ele = document.createElement('select'); ele.name='selector'+num; for (i=0; i<8; i++) { opt = document.createElement('option'); opt.setAttribute("value",arrayvalores[i]) opt.innerHTML = arraytextos[i]; ele.appendChild(opt); } contenedor.appendChild(ele); ele = document.createElement('input'); ele.type = 'text'; ele.value = '0'; ele.size = '1'; ele.name = 'casilla'+num; contenedor.appendChild(ele); ele = document.createElement('input'); ele.type = 'button'; ele.value = 'Borrar'; ele.name = 'boton'+num; ele.onclick = function () {borrar(this.name)} contenedor.appendChild(ele); } function borrar(obj) { fi = document.getElementById('fiel'); fi.removeChild(document.getElementById(obj)); }
Agradeceré cualquier ayuda en este aspecto también, así como cualquier otro consejo u observación, ya que como he dicho, soy bastante novato.
Muchas gracias de antemano.