Workaround for N/A in slider array

More
3 months 1 week ago #158057 by Jmantysalo
Jmantysalo created the topic: Workaround for N/A in slider array
Any suggestions for a workaround to add N/A -checkbox to a slider array? Should be something like

Do you like following foods:

Tomatoes: |---o--| [ ] Have never eaten tomatoes
Potatoes: |-o----| [ ] Have never eaten potatoes

Please Log in to join the conversation.

More
3 months 1 week ago - 3 months 1 week ago #158060 by Joffm
Joffm replied the topic: Workaround for N/A in slider array
Hi,
you should read this.
https://www.limesurvey.org/de/foren/design-issues/111614-array-text-combining-sliders-with-yes-no-question

It's not exactly your problem, but you may get an idea and can adapt it.

A different approach - if you don't be able to wait for an answer - is:
1st question (multi): Which vegetables have you eaten?
2nd question (slider): How do you like...? (only eaten vegatables are displayed)


Best regards
Joffm
Last Edit: 3 months 1 week ago by Joffm.

Please Log in to join the conversation.

More
3 months 1 week ago #158066 by Jmantysalo
Jmantysalo replied the topic: Workaround for N/A in slider array
Thanks! It seems that the example on limesurvey_survey_716649.lss in the thread you linked is a perfect starting point. I just changed

// Insert the radios
			$(this).parent().addClass('radio').append('<span class="inserted-radio-wrapper">\
										<input id="'+thisID+'-Y" class="radio" value="Y" name="'+thisID.replace(/answer/, '')+'_radio" type="radio">\
										<label class="control-label radio-label" for="'+thisID+'-Y">Yes</label>\
									</span>\
									<span class="inserted-radio-wrapper">\
										<input id="'+thisID+'-N" class="radio" value="N" name="'+thisID.replace(/answer/, '')+'_radio" type="radio">\
										<label class="control-label radio-label" for="'+thisID+'-N">No</label>\
									</span>');
 
			// Initial radio states
			$(this).closest('td').find('input[type="radio"][value="'+thisValue+'"]').prop('checked', true);
		});
 
		// Listener on the radios
		$('.answer-item.column-2 input[type="radio"]', thisQuestion).on('click', function() {
			var thisInput = $(this).closest('td').find('input[type="text"]');
			$(this).closest('td').find('input[type="text"]').val($(this).val());
			checkconditions($(thisInput).val(), $(thisInput).attr('name'), 'text');
		});

to

// Insert the checkboxes
			$(this).parent().addClass('checkbox').append('<span class="inserted-checkbox-wrapper">\
										<input id="'+thisID+'-Y" class="checkbox" value="Y" name="'+thisID.replace(/answer/, '')+'_checkbox" type="checkbox">\
										<label class="control-label checkbox-label" for="'+thisID+'-Y">En vastaa tähän</label>\
									</span>\
');
 
			// Initial checkbox states
			$(this).closest('td').find('input[type="checkbox"][value="'+thisValue+'"]').prop('checked', false);
		});
 
		// Listener on the checkboxes
		$('.answer-item.column-2 input[type="checkbox"]', thisQuestion).on('click', function() {
			var thisInput = $(this).closest('td').find('input[type="text"]');
			$(this).closest('td').find('input[type="text"]').val($(this).val());
			checkconditions($(thisInput).val(), $(thisInput).attr('name'), 'text');
		});

and it seems to work.

To your second suggestion: The research team asking this want to mimic a paper form so closely as possible, so I try to avoid modifications. (Also, this LimeSurvey seems like a great product, so it would be nice to learn it deeply.)

Please Log in to join the conversation.

More
3 months 1 week ago #158108 by jelo

Please Log in to join the conversation.

More
3 months 1 week ago #158114 by Jmantysalo
Jmantysalo replied the topic: Workaround for N/A in slider array

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!