Copy link to clipboard
Copied
I have 4 checkbox fields check1,check2...etc all has export value of 1. If I use SFN or value is, it calculates them correctly but I can't figure out how to calculate values in custom calculation script.
Thanks for the clarification. You will have to add a variable to keep track of how many check boxes are checked, and you should explicitly convert the text field values to numbers in case any are blank. Something like this:
var total = 0;
var cb_total = 0;
for (var i = 1; i <= 4; i++) {
if (getField("checkbox"+i).value == "1") {
cb_total += 1;
total += +getField("checkbox" + i + "-price").value;
}
}
event.value = cb_total > 1 : 0.8 * total : total;
Copy link to clipboard
Copied
Can you explain what type of calculation you want to perform? It is a simple sum of the values of the checkboxes, or something else. If a simple sum, why do you want to use a custom script? In any case, with a script you can retrieve the value of each, ignore any that have a value of "Off", and add those that are not, after converting them to a number.
Copy link to clipboard
Copied
I want to add to folowing script if 2 of the checkboxes are checked total*.80
var total = 0;
for (var i=1; i<=4; i++) {
if (this.getField("checkbox"+i).value=="1") {
total+=this.getField("checkbox"+i+"-price").value;
}
}
event.value = total;
Copy link to clipboard
Copied
Then that last line could be:
event.value = total > 1 ? 0.8 * total : total;
Copy link to clipboard
Copied
Sorry I thought it will be clear from the code, I can't use that because total is from text fields not checkboxes, when checkbox is checked it add text field value to total.There is 4 checkboxes and 4 text fields (5th been where code go).
Copy link to clipboard
Copied
Thanks for the clarification. You will have to add a variable to keep track of how many check boxes are checked, and you should explicitly convert the text field values to numbers in case any are blank. Something like this:
var total = 0;
var cb_total = 0;
for (var i = 1; i <= 4; i++) {
if (getField("checkbox"+i).value == "1") {
cb_total += 1;
total += +getField("checkbox" + i + "-price").value;
}
}
event.value = cb_total > 1 : 0.8 * total : total;
Copy link to clipboard
Copied
I'm getting missing before statement error.
Copy link to clipboard
Copied
In the last line of code change first : with ?
Copy link to clipboard
Copied
Thanks George and Nesa that worked.