I am using a slider for whole values from 0 - 3 but don't know how to make sure that the choice of '0' (the starting point) is an actual choice and not just the user skipping the question. I 'solved' it by making the slider go from -1 to 3 and forcing a response. Not ideal.
I then want to use Math Operations (or javascript if needed) to calculate simple sums from the answers. However, regardless of what I try, I am unable to extract the numbers 0 - 3 from the user's answers.
This doesn't work:
```D = $e{ (q://QID13/SelectedAnswerRecode/1 + q://QID13/SelectedAnswerRecode/2 + q://QID13/SelectedAnswerRecode/4 + q://QID16/SelectedAnswerRecode/1 + q://QID16/SelectedAnswerRecode/2 + q://QID16/SelectedAnswerRecode/3 + q://QID16/SelectedAnswerRecode/4 + q://QID15/SelectedAnswerRecode/1 + q://QID15/SelectedAnswerRecode/2 + q://QID15/SelectedAnswerRecode/4 + q://QID15/SelectedAnswerRecode/5 + q://QID12/SelectedAnswerRecode/3 + q://QID12/SelectedAnswerRecode/4 + q://QID12/SelectedAnswerRecode/5) * 2 }```
This yields the numbers as strings and creates an output of "1 + 3 + 0 + 1..."
```${q://QID13/ChoiceNumericEntryValue/1} + ${q://QID13/ChoiceNumericEntryValue/3} + ${q://QID13/ChoiceNumericEntryValue/5} + ${q://QID16/ChoiceNumericEntryValue/1} + ${q://QID16/ChoiceNumericEntryValue/3} + ${q://QID16/ChoiceNumericEntryValue/5} + ${q://QID15/ChoiceNumericEntryValue/1} + ${q://QID15/ChoiceNumericEntryValue/2} + ${q://QID15/ChoiceNumericEntryValue/3} + ${q://QID15/ChoiceNumericEntryValue/4} + ${q://QID12/ChoiceNumericEntryValue/1} + ${q://QID12/ChoiceNumericEntryValue/2} + ${q://QID12/ChoiceNumericEntryValue/3} + ${q://QID12/ChoiceNumericEntryValue/6}```
It comes back with invalid calculation and when I use javascript, it comes back as NaN (not a number).
I suspect it has to do with my choice of a starting point of -1 but I don't know.
Page 1 / 1
For a math operation, you need to add a space after ( and before ). You also need to pipe the correct values, which I believe is ChoiceNumericEntryValue instead of SelectedAnswerRecode.
```
$e{ ( (q://QID13/ChoiceNumericEntryValue/1 + ... + q://QID12/ChoiceNumericEntryValue/5 ) * 2 }
```
For JS, you need to convert the strings to numbers:
```
parseInt("${q://QID13/ChoiceNumericEntryValue/1}") + etc.
```
```
$e{ ( (q://QID13/ChoiceNumericEntryValue/1 + ... + q://QID12/ChoiceNumericEntryValue/5 ) * 2 }
```
For JS, you need to convert the strings to numbers:
```
parseInt("${q://QID13/ChoiceNumericEntryValue/1}") + etc.
```
Thank you, Tom. With the Math operations it was the closing bracket ) that did not have a space before it ... The javascript now works.
Leave a Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.