Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Sous question au centre d'une échelle

  • KevinN
  • KevinN's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago #216613 by KevinN
Bonjour,
Je dois réaliser un questionnaire un peu différent de ce dont j’ai l’habitude de faire. En effet, les questions doivent comporter des échelles (ça c'est ok) sauf que je dois diviser cette même échelle en deux parties en faisant intervenir la sous-question au milieu (sous forme de texte ou encore d'image). Concrètement chaque participant devra choisir s’il répond du côté gauche ou du côté droit de la question. Cela devrait donner : Tout à fait / un peu / pas du tout < le côté gauche me correspond OU le côté droit me correspond > Pas du tout/ un peu/ tout à fait.Il s’agit donc bien d’une seule et même échelle puisque les participants n’ont à donner qu’une seule réponse (ce n’est donc pas un tableau à double échelle).
Si quelqu’un à une idée de comment faire je suis preneur !
 
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 10 months ago #216694 by Joffm
Replied by Joffm on topic Sous question au centre d'une échelle
Donc?
 
Code:
<script type="text/javascript" charset="utf-8">
 
    $(document).on('ready pjax:scriptcomplete',function(){
 
        // Define this question
        var thisQuestion = $('#question{QID}');
 
 
        // Move the last column
        $('col:nth-last-child(2)', thisQuestion).before($('col:last-child', thisQuestion));
        $('col:nth-last-child(3)', thisQuestion).before($('col:nth-last-child(2)', thisQuestion));
        $('col:nth-last-child(4)', thisQuestion).before($('col:nth-last-child(3)', thisQuestion));
 
        $('table.subquestion-list tr', thisQuestion).each(function(i) {
            $('> *:nth-last-child(2)', this).before($('> *:last-child', this));
            $('> *:nth-last-child(3)', this).before($('> *:nth-last-child(2)', this));
            $('> *:nth-last-child(4)', this).before($('> *:nth-last-child(3)', this));
        });
    });
</script>
 
<script type="text/javascript" charset="utf-8">
  $(document).on('ready pjax:scriptcomplete',function(){
    var thisQuestion = $('#question{QID}');
    // Add a question class
    thisQuestion.addClass('custom-array');
 
    // Column-specific classes
    $('table.subquestion-list tr', thisQuestion).each(function(i) {
      $('th, td', this).each(function(i) {
        $(this).addClass('column-'+i);
      });
    });
  });
</script>
Code:
<style type="text/css">.custom-array table.subquestion-list col {
    width: auto !important;
  }
/* Réglez la largeur comme vous le souhaitez! */
  .custom-array table.subquestion-list thead .column-0 {  width: 0%; }
  .custom-array table.subquestion-list thead .column-1 {  width: 10%; }
  .custom-array table.subquestion-list thead .column-2 {  width: 10%; }
  .custom-array table.subquestion-list thead .column-3 {  width: 10%; }
  .custom-array table.subquestion-list thead .column-4 {  width: 40%; }
  .custom-array table.subquestion-list thead .column-5 {  width: 10%; }
  .custom-array table.subquestion-list thead .column-6 {  width: 10%; }
  .custom-array table.subquestion-list thead .column-7 {  width: 10%; }
 
.ls-answers .answertextright {
    text-align: center;
}
</style>

Le texte est le texte de droite d'un différentiel sémantique.
Il est entré avec "| mon texte".

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: DenisChenu
The topic has been locked.
  • KevinN
  • KevinN's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 10 months ago - 2 years 10 months ago #216695 by KevinN
Replied by KevinN on topic Sous question au centre d'une échelle
Merci beaucoup, c'est exactement ça je ne savais pas si j'avais été assez claire dans ma demande !
Sinon, pensez-vous qu’il soit possible de modifier la mise en page de la sous question pour arriver à ceci (il s'agit d'un exemple) :
J'obtiens ceci quand j'intègre directement le tableau dans une question mais mes compétences en CSS s'arrête là... 

<table align="center" border="0" cellpadding="0" cellspacing="0" style="width:784px;" width="100%">
    <tbody>
        <tr>
            <td style="width:292px;height:85px;">
            <p><span style="font-size:16px;">Certains pensent qu’il faut manger des bananes pour être en bonne santé</span></p>
            </td>
            <td style="width:157px;height:85px;">
            <p align="center"><span style="font-size:16px;"><strong>MAIS</strong></span></p>
            </td>
            <td style="width:292px;height:85px;">
            <p><span style="font-size:16px;">D’autres pensent qu’il faut manger des pommes pour être en bonne santé</span></p>
            </td>
        </tr>
    </tbody>
</table>

Last edit: 2 years 10 months ago by KevinN.
The topic has been locked.
  • KevinN
  • KevinN's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 10 months ago #216704 by KevinN
Replied by KevinN on topic Sous question au centre d'une échelle
C''est bon, en bidouillant un peu (et surtout en me rappelant qu'il existait aussi éditeur pour les sous-questions..) j'ai réussi à faire ce que je voulais !
Merci encore pour votre aide, c'est toujours agréable de voir la réactivité et l'entraide sur ce forum 
 
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 10 months ago - 2 years 10 months ago #216705 by Joffm
Replied by Joffm on topic Sous question au centre d'une échelle
Le problème est que le javascript change le tableau de la matrice.
Vous créez un autre tableau. Cela sera également changé.
Par conséquent, les textes doivent être disposés différemment afin qu'ils soient affichés dans le bon ordre après avoir été modifiés.

<table align="center" border="0" cellpadding="0" cellspacing="0" style="width:100%;">
    <tbody>
        <tr>
            <td style="width:20%;height:85px;text-align:center;font-size:16px;">
            <strong>MAIS</strong>
            </td>
            <td style="width:40%;height:85px;">
            <span style="font-size:16px;">D’autres pensent qu’il faut manger des pommes pour être en bonne santé</span>
            </td>
            <td style="width:40%;height:85px;">
            <span style="font-size:16px;">Certains pensent qu’il faut manger des bananes pour être en bonne santé</span>
            </td>
        </tr>
    </tbody>
</table>



Il est donc préférable de n'utiliser que le bootstrap

<div class="row row-no-gutters" style="font-size:16px;">
  <div class="col-md-5">
    Certains pensent qu’il faut manger des bananes pour être en bonne santé
  </div>
  <div class="col-md-2" style="font-weight:bold">
    MAIS
  </div>
  <div class="col-md-5" >
    D’autres pensent qu’il faut manger des pommes pour être en bonne santé
  </div>
</div>



Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 2 years 10 months ago by Joffm.
The following user(s) said Thank You: KevinN
The topic has been locked.
  • KevinN
  • KevinN's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 10 months ago #216760 by KevinN
Replied by KevinN on topic Sous question au centre d'une échelle
Oui, c'est ce que j'ai vu en "bidouillant" merci pour le bootstrap c'est parfait !
The topic has been locked.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose