Buongiorno a tutti,
da questo link sto cercando di modificare lo script, facendo aggiungere gli input da una select non uno ad uno dal link.
nel file con la select
codice:
<select onChange="addInput_two(15,this.value)">
<option value="">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
nel file .js
codice:
var arrInput = new Array(0);
var arrInputValue = new Array(0);
function addInput_two(price,q) {
for (intI=0;intI<q;intI++) {
arrInput.push(arrInput.length);
arrInputValue.push("");
}
price_tick=price;
display_two(price_tick,q);
}
function display_two(price2,q3) {
document.getElementById('parah').innerHTML="";
for (intI=0;intI<q3;intI++) {
document.getElementById('parah').innerHTML+=createInput(arrInput[intI], arrInputValue[intI]);
}
tot = price2 + (intI * price2);
document.getElementById("Totprice2").innerHTML = "<b style='color:#DCD919; font-size:22px;'>€" + tot + "[/b]";
}
function saveValue(intId,strValue) {
arrInputValue[intId]=strValue;
}
function createInput(id,value) {
return "<input type='text' id='guest"+ id +"' name='guest_"+ id +"' onChange='javascript:saveValue("+ id +",this.value)' value='"+ value +"'>
";
}
function deleteInput(price) {
if (arrInput.length > 0) {
arrInput.pop();
arrInputValue.pop();
}
display(price);
}
Il problema è che, per esempio, nella select cliccando 4 poi 2 mi mostra correttamente 2 input
ma quando faccio elimina mi mostra 5 input (4 della prima selezione + 2 della seconda - 1 eliminato)
come se salvasse i 6 indici ma, di fatto, ne mostra solo gli ultimi (nel mio caso 2).
come posso intervenire?