Welcome, Guest
Username: Password: Remember me

TOPIC: Coloriage réponse dans un tableau

Coloriage réponse dans un tableau 1 year 3 weeks ago #98880

  • titoun31
  • titoun31's Avatar
  • OFFLINE
  • Expert Lime
  • Posts: 94
  • Thank you received: 11
  • Karma: 6
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
The administrator has disabled public write access.

Coloriage réponse dans un tableau 1 year 3 weeks ago #98881

  • Nickko
  • Nickko's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 2074
  • Thank you received: 252
  • Karma: 54
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
The administrator has disabled public write access.

Coloriage réponse dans un tableau 1 year 3 weeks ago #98884

  • titoun31
  • titoun31's Avatar
  • OFFLINE
  • Expert Lime
  • Posts: 94
  • Thank you received: 11
  • Karma: 6
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
The administrator has disabled public write access.

Coloriage réponse dans un tableau 1 year 3 weeks ago #98894

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6277
  • Thank you received: 802
  • Karma: 241
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
The administrator has disabled public write access.
The following user(s) said Thank You: titoun31

Coloriage réponse dans un tableau 1 year 2 weeks ago #99115

  • titoun31
  • titoun31's Avatar
  • OFFLINE
  • Expert Lime
  • Posts: 94
  • Thank you received: 11
  • Karma: 6
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
The administrator has disabled public write access.

Coloriage réponse dans un tableau 1 year 1 week ago #99159

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6277
  • Thank you received: 802
  • Karma: 241
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");
		}
	});
}
The administrator has disabled public write access.
The following user(s) said Thank You: titoun31
Moderators: Nickko
Time to create page: 0.166 seconds
Donation Image