While I was doing a mistake in my code above I had a new idea: maybe you can use the assessment value for this? (not sure if you can put letters though). But you would still have a normal answercode. You would need to try it if it works. You can access the assessment value like above, just write "value" instead of "code".
Help us to help you!
Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.
Glad you found a solution. But I'm using version 2.05, so I can't use Expression Manager and I can't (am not allowed) to upgrade.
But no worries, the reason for the abbreviation is foremost to install a more informal and natural flow in my survey, so if this doesn't work it's not the end of the world.
I read this yesterday "Depends on the version you use. Since 2.06 you can use the Expression Manager to hide subquestions/answer options" and I interpreted that expression Manager was only integrated from 2.06, but it probably referred to the hide options.
I have something to work with now. Time to tinker.
This is what I feared. There would be the option to create a second question (hidden) with the same list of respondents (same code) but without the Last name. Then a expression that answers the question based on the reponse to the previous question (which is answered by the respondent). I saw some expression from Jelo showing how to do this. Based on this you can read out the second question instead of the first and you'll only get the first name.
Help us to help you!
Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.
@holch: Which expression?
Limesurvey is missing such list functions.
If I got it right, the list of persons is known upfront. And one person is choosen from a drop down list.
This person has a Name surname etc. But from the choosen person the first name (or any other personal name) shoud be used in other questions about that person?
If that is the case, why no use one equation with nested ifs? You use the answercodes of your dropdown question and assign the first name to the equation. Then you use the equation variable in your questions.
@Jelo: Of course, using an expression with nested ifs would do the trick. But depending on the length of the list, these nested ifs could get quite tedious.
I was thinking to fill a normal single choice question, with just the same list of people as the dropdown, using the same answer codes, but instead of "firstname lastname" I would just display firstname as answer text. the list of names and answer codes could be easily be prepared in Excel and then copied in the quick add feature, which could cope even with longer lists. The second, single choice question would be hidden and via javascript or EM the same answer as for the first dropdown question would be marked in this question and thus you should be able to draw the first name from there.
Just an idea.
But seems like Tony already delivered a function that could solve the problem quite easily (in another thread of the OP).
Help us to help you!
Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.
sorry to bother you, but the explanation of Tony is not so easy to comprehend for me (This is the first time I work with limesurvey or any survey alltogether, and I am working with the dutch version of limesurvey).
This is what Tony wrote:
You can use the stristr function to return the value of a selected item up to the first space.
{stristr(q1.shown, ' ', 'true')}
Could you explain this any further or maybe show me with an example ? or further explain jelo's explanation which is easier to comprehend but I have no experience with the equation's and little experience with html
From what I understand is this function strips everything from a string after the first space. So actually exactly what you need.
Let's assume your answer texts with the names shows "Thomas Thomasson" as the full name of the person, which is your case in the dropdown, right? Lets assume the question code of this dropdown question for the name is "Q1". Then you could show the name chosen in Q1 by using {Q1.shown}. However, this would show "Thomas Thomasson", but you want just the first name "Thomas".
So the Expression Tony was showing, should take "Thomas Thomasson", read the string up to the first space and then write it out, which in this case would result in "Thomas".
Give it a try.
Help us to help you!
Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.