count checked answers in multiple choice question

Más
7 años 4 meses antes - 7 años 4 meses antes #81247 por barbacot
I installed latest version of limesurvey to give it a try.

i like it very much but I need advise on how to do one thing:

I have a multiple choices question with approximately 70 choices. From this a user must check at most 12. Since he can check so many answers I want a possibility for him to show near the question (up or down) a field with how many choices he checked (real time) or how many he has left (this is even better) -some kind of real time counter.

Is this possible???

I found on the internet this script but for some reason it doesn't work:
<script type="text/javascript">
function Custom_On_Load(){
$(document).ready(function() {
 
/* Hide the answer box from this current question, because we will store the value of the count in this question */
$( ‘#question77′ ).hide();
 
$( ‘#question76 td.answer input.checkbox).change(function() {
var checkedCount = 0;
 
$( ‘#question76 td.answer input.checkbox).each(function(i) {
if ( $( this ).attr(‘checked’) == true ) {
checkedCount++;
}
});
 
if ( checkedCount > 1 ) {
$( ‘#question77 td.answer input.checkbox).attr(‘checked’, true);
}
else {
$( ‘#question77 td.answer input.checkbox).attr(‘checked’, false);
}
});
});
}
 
</script>
 
 

where 76 and 77 are the question's ID (I think...).

Can someone please tell me if there is something wrong with this code or if there is any other possibility to achieve what I described at the start of the topic?
Última Edición: 7 años 4 meses antes por barbacot.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

LimeSurvey Partners
Más
7 años 4 meses antes #81262 por tpartner
That is obsolete code to populate a hidden question.

If you have 70 choices, where do you want to insert the counter? With so many answers, it may not always be visible as the respondent scrolls.

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Official LimeSurvey Partner - partnersurveys.com

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
7 años 4 meses antes - 7 años 4 meses antes #81264 por barbacot
The answer are not so big and on two columns.
I would want the counter at the bottom of the question because the user start from the top and it is more important for him to see the remaing choices at the bottom.

If a counter is a bad idea in this context than maybe how to disable the unchecked checkboxes after the user chooses the maximum allowed responses with a messagebox to tell him that he checked all the maximum answers.
Última Edición: 7 años 4 meses antes por barbacot.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
7 años 4 meses antes #81281 por TMSWhite
It is possible to show such a real-time counter.

You might want to do two things:
(1) Use the advanced question option to set the max number of allowable answers to 12. This will dynamically color code the message "Please select up to 12 answers", making it turn pink (a warning color) if the user selects too many.
(2) Add a tailored message to the help text, saying "Please check {x} more boxes", where {x} is an equation like this (assuming your question is called "q"):
{12 - count(q_1, q_2, q_3, ..., q_70)}

Here is a working example of something similar. Note at the bottom of the figure that it dynamically counts how many numbers have been entered in the preceding questions.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
7 años 4 meses antes #81288 por barbacot
Thank you very much.
It is working...

One more question if you are so kind: is there some kind of scripting event so that all the checked answers in multiple choices question become red or green or any other color when the user check the corresponding checkboxes???

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
7 años 4 meses antes #81291 por tpartner

is there some kind of scripting event so that all the checked answers in multiple choices question become red or green or any other color when the user check the corresponding checkboxes?


Add the following to the end of template.js:
$(document).ready(function(){
 
	// Listener on the checkboxes
	$('input.checkbox').click(function(e){
		if($(this).is(':checked')) {
			$(this).next('label').addClass('checkedLabel');
		}
		else {
			$(this).next('label').removeClass('checkedLabel');
		}
	});
});

And then add something like this to the end of template.css:
.checkedLabel {
	color:#009900;
}

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Official LimeSurvey Partner - partnersurveys.com

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
7 años 4 meses antes #81304 por barbacot
It works beautifully. :woohoo:

Thank you very much for your kind support.
Great open source application.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
4 años 5 meses antes #119646 por boriginal
Hey,

for me this script is not working. I can not recognize any differences after embedding the two scripts into the two respective files.

Is this script still working with the latest LimeSurvey Version?

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
4 años 5 meses antes #119663 por tpartner
Works for me in the latest version. Do you have any JavaScript errors in the console? Try using Firebug or developer tools to see if the "checkedLabel" class is being applied.

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Official LimeSurvey Partner - partnersurveys.com

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
4 años 5 meses antes #119670 por Ben_V
Related 100% EM syntax for a "Q1" question
<span style="color:red">{if((count(that.Q1.NAOK) < 1),(count(that.Q1.NAOK)),'')}</span><span style="color:green">{if((count(that.Q1.NAOK) >= 1),(count(that.Q1.NAOK)),'')}</span>

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

¡Comenzar ahora!

Simplemente cree una cuenta y comience a usar LimeSurvey hoy mismo.

Registrarse ahora
¡Únase a nuestro boletín informativo!

Iniciar sesión