Likert Scale and Radio Variants
Jaap MurreIllustrates how to preselect a check button on a Likert scale.
It is necessary to use startform() and endform() in the examples here because the standard scale() control will include an OK button that immediately starts waiting for a click.
jQuery (included by default) is used to change the styles and properties.
If you are a registered user and signed in, you can here copy this script and its stimuli to your own account, where you can edit it and change it in any way you want.
It is absolutely free to register (no credit card info asked!). You can then instantly copy this experiment with one click and edit it, change its accompanying texts, its landing page, stimuli, etc. Invite your colleagues, friends, or students to check out your experiment. There is no limit on how many people can do your experiment, even with a free account.
The catch? There is no catch! Just keep in mind that with a free account, you cannot collect data. For teaching that is usually not a problem. For research, prepaid data collection (unlimited subjects) starts as low as €10.00 for a 10-day period.
main.setfontsize(70); text("Standard scale"); await(2000); scale("How well do you sleep at night?","Very badly","Very well","sleep_quality",7); clear(); text("Your sleep quality is {sleep_quality}"); await(3000); clear(); var c = main.addblock('center',30,100,40), // New centerblock b = main.addblock('center','bottom',30,20); // New bottom (footer) block // N.B. These are covering the normal centerblock and hence the Standard // controls will not work unless you first destroy() Blocks c and b // See https://leanpub.com/neurotask/read#leanpub-auto-removing-and-destroying-blocks text("Scale with startform() and endform()"); await(2000); clear(); startform(); c.scale("How well do you sleep at night?","Very badly","Very well","sleep_quality",7); b.button("OK","inputbutton","click","inputbutton") .await('click'); endform(); clear(); c.clear(); b.clear(); text("Your sleep quality is {sleep_quality}"); await(3000); clear(); text("Preselect the middle instad of the first check button (is no. '4')"); await(2000); clear(); startform(); c.scale("How well do you sleep at night?","Very badly","Very well","sleep_quality",7); $("input[name=sleep_quality][value='4']").prop("checked",true); b.button("OK","inputbutton","click","inputbutton") .await('click'); endform(); clear(); c.clear(); b.clear(); text("Your sleep quality is {sleep_quality}"); await(3000); clear(); text("Show text at different spot in radio - normal case"); await(4000); clear(); startform(); c.radio("How many hours do you sleep per night on average?", ['less than 5','6','7','8','9','10','more than 10'],"hours_sleep"); b.button("OK","inputbutton","click","inputbutton") .await('click'); endform(); clear(); c.clear(); b.clear(); text("You sleep {hours_sleep} hours per night"); await(3000); clear(); text("Show text at different spot in radio - inverted case"); await(4000); clear(); c.clear(); b.clear(); startform(); c.radio("How many hours do you sleep per night on average?", ['less than 5','6','7','8','9','10','more than 10'],"hours_sleep"); $('input').each(function(index){ $(this).css('float','right'); // Shift check to the right $(this).next().css('float','right'); // Shift text to the right $(this).next().css('margin-right','2em'); // Give more space... $(this).next().next().css('clear','both'); // make
clear both }); b.button("OK","inputbutton","click","inputbutton") .await('click'); endform(); clear(); c.clear(); b.clear(); text("You sleep {hours_sleep} hours per night"); await(3000); clear();