Beregn alle valgte checkboxe
Hej Eksperter !Nu har jeg prøvet og prøvet, men kan ikk'....
Jeg har en række checkboxe (60 stk), alle med forskellige navne.
Her et lille udpluk:
<input type="checkbox" name="daek1" onClick="this.form.total.value=CheckChoice(this);" value="12.23">
<input type="checkbox" name="daek2" onClick="this.form.total.value=CheckChoice(this);" value="78.13">
<input type="checkbox" name="faelg1" onClick="this.form.total.value=CheckChoice(this);" value="12.23">
<input type="checkbox" name="faelg2" onClick="this.form.total.value=CheckChoice(this);" value="12.23">
<input type="text" name="total" readonly onFocus="this.blur();">
Og det script, der kaldes:
function CheckChoice(whichbox)
{
with (whichbox.form)
{
//Handle differently, depending on type of input box.
if (whichbox.checked == false)
{ hiddentotal.value = eval(hiddentotal.value) - eval(whichbox.value); }
else { hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.value); }
//Ensure the total never goes negative
if (hiddentotal.value < 0)
{
InitForm();
}
//Now, return with formatted total:
return(formatCurrency(hiddentotal.value));
}
}
//Define function to format a value as currency:
function formatCurrency(num)
{
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
pence = num%100;
num = Math.floor(num/100).toString();
if(pence<10)
pence = "0" + pence;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+'.'+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + 'Kr. ' + num + ',' + pence);
}
//Define function to init the form on reload:
function InitForm()
{
//Reset the displayed total on form:
document.myform.total.value='Kr. 0';
document.myform.hiddentotal.value=0;
//Set all checkboxes to unchecked:
for (xx=0; xx < document.myform.elements.length; xx++)
{
document.myform.elements[xx].checked = false;
}
}
Min udfordring er, at kun checkboxe, som jeg klikker på, tages med i beregning (som derudover virker perfekt). Nogle af checkboxene afcheckes automatisk, når andre checkboxe checkes - deres værdier kommer ikke med i beregningen.
Kan man forestille sig at ovennævnte scripts kan tilrettes, så det løber igennem alle checkboxe (kun de 60 - formen har også andre, som ikke skal tages med i beregningen) ?