Hello @fazilaadam,
The issue is simple, in javascript the equality operator is represented with the double sign: “==” because the sign “=” is used for assignment, furthermore, if you want declare multiple javascript variables in a same var statement, you should separate them with comma symbol (,) and not semicolon, so, the equation would be:
(function () {
var result=0, reference = fieldname31;
if (reference =='Sedentary') result += fieldname4*1.2;
else if (reference =='Mild') result += fieldname4*1.3-1.375;
else if (reference =='Moderate') result += fieldname4*1.5-1.55;
else if (reference =='Heavy') result += fieldname4*1.7;
else if (reference =='Extreme') result += fieldname4*1.9;
return result;
})();
To optimize a little more, you can remove event the last “if” because it is the option remained after checking the other four options:
(function () {
var result=0, reference = fieldname31;
if (reference =='Sedentary') result += fieldname4*1.2;
else if (reference =='Mild') result += fieldname4*1.3-1.375;
else if (reference =='Moderate') result += fieldname4*1.5-1.55;
else if (reference =='Heavy') result += fieldname4*1.7;
else result += fieldname4*1.9;
return result;
})();
Finally, there is not an unique way to implement the equation, javascript is a very rich language with many possibilities, an alternative would be the use of the “switch” conditional statement as follows:
(function () {
switch(fieldname31)
{
case 'Sedentary': return fieldname4*1.2;
case 'Mild': return fieldname4*1.3-1.375;
case 'Moderate': return fieldname4*1.5-1.55;
case 'Heavy': return fieldname4*1.7;
default: return fieldname4*1.9;
}
})();
Best regards.
Thanks so much! That works perfectly.