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

Plus d'informations
il y a 4 mois 1 semaine #180012 par 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

Connexion ou Créer un compte pour participer à la conversation.

LimeSurvey Partners
Plus d'informations
il y a 4 mois 3 jours #180413 par surveySn
Has anybody helped me?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 mois 3 jours - il y a 4 mois 3 jours #180430 par 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:

Fichier attaché :

Nom du fichier : limesurvey...2-13.lss
Taille du ficher :35 ko

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Official LimeSurvey Partner - partnersurveys.com
Pièces jointes :
Dernière édition: il y a 4 mois 3 jours par tpartner.
Les utilisateur(s) suivant ont remercié: surveySn

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 mois 3 jours #180431 par surveySn
Thank you very much, tpartner.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 6 jours #185192 par dirk01
Hi there,

Is it possible to change the script to an array text question.

If someone fills in one or two options in a one row, the other options are disabled.

For instance, how many pieces of fruit do you eat, and they can answer by day, week, month or year?

Kind regards,

Dirk
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 6 jours #185199 par Joffm
That you can do easily by the built-in option of question validation
(count(self.sq_SQ001_X)<4) and (count(self.sq_SQ002_X)<4) and (count(self.sq_SQ003_X)<4) and (count(self.sq_SQ004_X)<4)





Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 6 jours #185200 par dirk01
Ok, thanks for the quick respons.

I understand it and I've used the EM before, but in this case it is rather complicated because the options should be disabled on a row per row basis.

So in the example only cell "option1--X005" should be disabled, not the other rows/cells of the array.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 6 jours #185208 par Joffm
Yes, I know.
As you see in the validation there is the check row by row.
Only if there are more than 3 mentions in one row the error message will appear.


But I admit that it is a bit confusing that the whole question is marked as "wrong" in case there are 4 mentions in one row.
On the other side you get the message immediately after your wrong entry.

Joffm

You see, I prefer built-in features. Too many times a workaround didn't work anymore after an update or a new major release and had to be adapted.


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Pièces jointes :
Les utilisateur(s) suivant ont remercié: DenisChenu

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 5 jours #185247 par dirk01
Thanks a lot. I should have given the expression a closer look.

I use it sometimes for calculations, not for validations.

Dirk

Connexion ou Créer un compte pour participer à la conversation.

Commencez dès maintenant !

Créez simplement un compte et commencez à utiliser LimeSurvey dès aujourd'hui.

Inscrivez-vous maintenant

Inscrivez-vous à notre Newsletter!