@tpartner, I need you help!!!the maximum answers per row

More
1 week 4 days ago #180012 by surveySn
<script type="text/javascript" charset="utf-8">
	$(document).ready(function() {
 
		// Define the maximum answers per column
		var maxAnswers = 1;
 
		// Identify this question
		var thisQuestion = $('#question{QID}');
 
		// Index the array columns
		$('table.subquestion-list tr', thisQuestion).each(function(i) {
			$('> *', this).each(function(i) {
				$(this).attr('data-index', i);
			});
		});
 
		// Listener on the checkboxes
		$('input[type="checkbox"]', thisQuestion).on('change', function(e) {
			var thisIndex = $(this).closest('.answer-item').attr('data-index');
			$('[data-index="'+thisIndex+'"] input[type="checkbox"]', thisQuestion).prop('disabled', false);
 
			// If max reached, disable unchecked inputs in this column
			if($('[data-index="'+thisIndex+'"] input[type="checkbox"]:checked', thisQuestion).length >= maxAnswers) {
				$('[data-index="'+thisIndex+'"] input[type="checkbox"]:not(:checked)', thisQuestion).prop('disabled', true);
			}
		});
	});
</script>

The above is the restricted column.



What about Row?



www.limesurvey.org/community/forums/can-...election-imit#180008
This way, HTTP 500

Please Log in or Create an account to join the conversation.

More
3 days 9 hours ago #180413 by surveySn
Has anybody helped me?

Please Log in or Create an account to join the conversation.

More
3 days 6 hours ago - 3 days 6 hours ago #180430 by tpartner
Placing this script in the source of an array-numbers-checkboxes question will enforce a maximum of 3 items checked per row.

<script type="text/javascript" charset="utf-8">
 
	$(document).ready(function() {
 
		// Define the maximum answers per row
		var maxAnswers = 3;
 
		// Identify this question
		var thisQuestion = $('#question{QID}');
 
		// Listener on the checkboxes
		$('input[type="checkbox"]', thisQuestion).on('change', function(e) {
			var thisRow = $(this).closest('tr');
			$('input[type="checkbox"]', thisRow).prop('disabled', false);
 
			// If max reached, disable unchecked inputs in this row
			if($('input[type="checkbox"]:checked', thisRow).length >= maxAnswers) {
				$('input[type="checkbox"]:not(:checked)', thisRow).prop('disabled', true);
			}
		});
	});	
</script>

Sample survey attached:

File Attachment:

File Name: limesurvey...2-13.lss
File Size:35 KB

Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Attachments:
Last edit: 3 days 6 hours ago by tpartner.
The following user(s) said Thank You: surveySn

Please Log in or Create an account to join the conversation.

More
3 days 6 hours ago #180431 by surveySn
Thank you very much, tpartner.

Please Log in or Create an account to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!