Coloriage réponse dans un tableau

More
4 years 2 months ago #98880 by titoun31
titoun31 created the topic: Coloriage réponse dans un tableau
Bonjour,

Je souhaiterais améliorer un tout petit peu l'ergonomie d'un de mes questionnaires qui comportent beaucoup de tableaux de questions à 4 modalités classiques. Je souhaiterais quand un répondant coche sa réponse sur une ligne que cette case se colorie d'une couleur personnalisée.

J'imagine qu'il faudrait que je rajoute une fonction onclick() dans une source (?) quelque part avec un petit script JS que je peux intégrer dans mon template.
Quelqu'un aurait déjà vu un petit code ou un workaround sur ce sujet ? ou sinon, auriez-vous quelques indications pour bien placer cette fonction ou autres ?

Merci bcp,

Thibault

Please Log in to join the conversation.

More
4 years 2 months ago #98881 by Nickko
Nickko replied the topic: Coloriage réponse dans un tableau
Je n'ai pas encore vu de Workarround pour ça, je pense qu'avec un peu de JS comme tu le dis tu pourras faire ce que tu veux. Je ne maîtrise pas assez la question pour te dire comment faire par contre.

Nickko
Ergonome / Usability expert

Please Log in to join the conversation.

More
4 years 2 months ago #98884 by titoun31
titoun31 replied the topic: Coloriage réponse dans un tableau
Merci Nickko pour ton retour... Je vais essayer de chercher un peu dans ce sens. Si je trouve un truc, je vous en ferai part ! :)

Bon aprem !

Thibault

Please Log in to join the conversation.

More
4 years 2 months ago #98894 by DenisChenu
DenisChenu replied the topic: Coloriage réponse dans un tableau
Salut,

Un système de :
$("table.question").delegate('input.radio','click', function(e) {
  if($(this).is(':checked')){
    $(this).closest('tr').find('td').removeClass('selected');
    $(this).closest('td').addClass('selected');
  }else{
   $(this).closest('tr').find('td').removeClass('selected');
  }
});

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .
The following user(s) said Thank You: titoun31

Please Log in to join the conversation.

More
4 years 2 months ago #99115 by titoun31
titoun31 replied the topic: Coloriage réponse dans un tableau
Merci Denis pour ce code.
J'ai mis un peu de temps à le tester mais il fonctionne, seulement uniquement que lorsque le click est sur l'input.radio pas sur l'array du tr.td
J'ai essayé de modifier les conditions mais sans trop de succès : aurais-tu une petite idée STP ?

Merci bcp bcp !

Thibault

Please Log in to join the conversation.

More
4 years 1 month ago #99159 by DenisChenu
DenisChenu replied the topic: Coloriage réponse dans un tableau
Salut,

Ouaip, corrigé dans le version 2.05 ...

Ajoute cela dans ton template.js :
/**
 * Adapt cell to have a click on cell do a click on input:radio or input:checkbox (if unique)
 * Using delegate the can be outside document.ready
 * @author Denis Chenu / Shnoulle
 */
function prepareCellAdapters()
{
	$('table.question').delegate('tbody td input:checkbox,tbody td input:radio,tbody td label',"click", function(e) {
		e.stopPropagation();
	});
	$('table.question').delegate('tbody td',"click", function() {
		if($(this).find("input:radio,input:checkbox").length==1)
		{
			$(this).find("input:radio").click();
			$(this).find("input:radio").triggerHandler("click");
			$(this).find("input:checkbox").click();
			$(this).find("input:checkbox").triggerHandler("click");
		}
	});
}

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .
The following user(s) said Thank You: titoun31

Please Log in to join the conversation.

Moderators: Nickko

Start now!

Just create your account and start using Limesurvey today.

Register now