Código Javascript:
Suma los valores del mismo banco de una sección y los resta de otra para así ajustar todo a ceros.Ver original
var banks = {"~":0, "Afirme": 0, "Bajio": 0, "Banamex": 0, "Banco Azteca": 0, "Banco Walmart": 0, "Banorte": 0, "Banregio": 0, "BBVA Bancomer": 0, "Coppel": 0, "HSBC": 0, "Inbursa": 0, "IXE": 0, "Mifel": 0, "Santander": 0, "Scotiabank": 0}; var form = document.forms.form1; var selects = form["banco_fond[]"]; var deposit_fields = form["fond[]"]; var bnc_auto = form["banco_auto[]"]; var resta = form["auto[]"]; //muestra resultado var result = function() { var html_result = []; for (var j in banks) html_result.push(j == '~' ? '' : banks[j] + ' - ' + j); document.getElementById("result").innerHTML = "<div class='banks_style'>Totales por banco:<br /> " + html_result.join("<br />")+"<div>"; } var update = function(){ for (var j in banks){ var x = 0, field; var y = 0, camp; banks[j] = 0; while (field = deposit_fields[x]) if (selects[x++].value == j) banks[j] += +field.value; while (camp = resta[y]) if (bnc_auto[y++].value == j) banks[j] += -camp.value; banks[j] = parseFloat(banks[j]).toFixed(3); } result() }; for (var i = 0; i < deposit_fields.length; i++) { var optionsHTML = ''; for (var j in banks) optionsHTML += '<option value="' + j + '">' + j + '</option>'; selects[i].innerHTML = optionsHTML } for (var i = 0; i < resta.length; i++) { var sel = ''; for (var j in banks) sel += '<option value="' + j + '">' + j + '</option>'; bnc_auto[i].innerHTML = sel selects[i].onkeyup = update selects[i].onkeypress = update bnc_auto[i].onkeyup = update bnc_auto[i].onkeypress = update } update()
Este script funciona con un array que contiene los valores de los bancos, mismos que adquiere para realizar la suma y la resta, sin embargo, esto me ha provocado ahora una pequeña dificultad, ya que cuando hago una consulta en PHP para que me devuelva los datos insertados al formulario, pues no ejecuta ya que rellena los campos con valores de la base de datos. cómo puedo hacer para que siga ejecutando con normalidad o al código adjunto hacerlo trabajar sin que necesite de los valores del array a mis campos.
Código Javascript:
Ver original
optionsHTML += '<option value="' + j + '">' + j + '</option>';