Welcome to the LimeSurvey Community Forum

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

Créer un tableau à (double) échelle avec plus de deux échelles ?!

  • Kingulian
  • Kingulian's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 11 months ago #121512 by Kingulian
Note : Ce topic est un doublet en français de celui que je viens de poster sur le forum général (en anglais) "Can I do this with LimeSurvey".

Bonjour à tous mes amis (français) de l'Open Source :)

Je m’appelle Julien. Changemaker super motivé, je crée en ce moment une nouvelle start-up dans l'économie collaborative. Aujourd'hui, j'ai besoin de faire une enquête auprès des futurs utilisateurs de ce nouveau service afin de leur poser quelques questions nécessaires.

Je voudrais rendre l’expérience de ce questionnaire la plus simple et rapide possible aux questionnés.
Pour cela, il faudrait que je puisse créer une question avec une tableau (à échelle, avec listes déroulantes) avec QUATRE échelles !!! :ohmy:

Est-ce que vous pensez que j'ai une petite chance d'y arriver ? Et si oui, COMMENT ?

Merci à tous pour votre temps et votre collaboration :cheer:

Julien
The topic has been locked.
  • Kingulian
  • Kingulian's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 11 months ago #121532 by Kingulian
Bonjour :)

Je me permets de rajouter des exemples photos de ce que je cherche à faire !

Ça serait super si je pouvais réussir à faire quelque chose comme dans l'exemple 1 (un tableau à quatre échelles) !
Le mieux, serait même de transformer la quatrième échelle en "échelle de texte" (exemple 2).

Que pensez-vous ? :)

Julien
The topic has been locked.
  • Nickko
  • Nickko's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 years 11 months ago #121595 by Nickko
J'ai vu qu'on t'avait répondu sur le forum en Anglais, as-tu trouvé ton bonheur ?

Nickko
Head of ergonomics, UX & UI.
The topic has been locked.
  • Kingulian
  • Kingulian's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 11 months ago #121610 by Kingulian
Bonjour Nickko,

Merci de prendre du temps et de te soucier de mon problème :)

Effectivement on m'a répondu en anglais. Je pense que mon "bonheur" se trouve dans les liens qu'on m'a copié.

Après je n'ai pas les compétences pour le coder moi même. Ça risque d'être dur de m'aider via le forum là dessus. Je pense être obligé de trouver de l'aide IRL pour ça :)

Si tu ne te sens pas en mesure de m'aider sur cette tache via le forum. Est-ce que tu peux au moins me dire où trouver l'outils pour coder puis "intégrer" ce nouveau script ?

Merci beaucoup ! Bon week-end ;)
The topic has been locked.
  • Nickko
  • Nickko's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 years 11 months ago #121619 by Nickko
Je te conseille de t'adresser à Denis.

Nickko
Head of ergonomics, UX & UI.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 years 11 months ago #121664 by DenisChenu
Salut,

Actuellement : une seule façon de faire : workaround javascript .... Cela doit être le lien que l'on t'a donné sur a partie anglaise. C'est tpartner qui t'as répondu ? Donne le lien ici.

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 , plugin development .
I don't answer to private message.
The topic has been locked.
  • Kingulian
  • Kingulian's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 10 months ago #121862 by Kingulian
Salut à tous,

C'est bon, j'ai reussi :)

Donc, si quelqu'un cherche à créer le même tableau (tableau avec plusieurs colonnes, en utilisant des menus déroulants), voici les étapes à suivre:

1) Créer un tableau de texte avec plusieurs colonnes.

2) Editer la question. Aller dans le cadre de la question (sous le "code" de la question), puis cliquez sur "SOURCE"

3) Ajouter le code suivant:

<script> $(function(){
/** ID du questionnaire **/
var questionIdentifier = '#question17';
/** Options **/
var selectOptions = {
'SQ001': color=#ff0000]"---", "OUI", "NON"[/color,
'SQ002': color=#ff0000]"---", "min. 1 fois par semaine", "min. 1 fois par mois", "min. 1 par an", "Jamais"[/color,
'SQ003': color=#ff0000]"---", "OUI", "NON", "Je ne sais pas"[/color,
'SQ004': ["---", "0,25€", "0,50€", "0,75€", "1,00€", "1,25€", "1,50€", "1,75€", "2,0€", "2,5€", "3,0€", "3,5€", "4,0€", "4,5€", "5,0€", "5,5€", "6,0€", "6,5€", "7,0€", "7,5€", "8,0€", "8,5€", "9,0€", "9,5€", "10€" ]
};

var createSelect = function(key) {

var select = $('<select>');
$.each(selectOptions[key], function (id, value) {
var option = $('<option value="' + value + '">' + value + '</option>');
select.append(option);
});
return select;
};

var getKey = function(name) {

for (var testKey in selectOptions) {
if (name.indexOf('_' + testKey) > -1) {
return testKey;
}
}
return null;
};

$.each($(questionIdentifier).find('.subquestion-list input'), function(index, element){
var input = $(element);
var name = input.attr('name');
if ('text' == input.attr('type')) {
var key = getKey(name);
if (null != key) {
var select = createSelect(key);
input.parent().append(select);
select.val(input.val());
select.change(function(){
input.val(select.val());
});
input.css('display', 'none');
}
}
});
}); </script>

5) Modifier le texte rouge avec
- Le numéro de la question que vous modifiez
- SQ00X ["proposition 1 du menu déroulant", "proposition 2 du menu déroulant", "proposition 3 du menu déroulant", "proposition 4 du menu déroulant"... et ainsi de suite]

6) Puis enregistrer la question et de faite une petite danse de la victoire :laugh:


Merci à tous de votre soutient ;)

Bonne journée

Julien
The topic has been locked.
  • Kingulian
  • Kingulian's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 10 months ago #121863 by Kingulian
ERREUR dans le code copié !

Je recommence :

<script> $(function(){
/** ID du questionnaire **/
var questionIdentifier = '#question17';
/** Options **/
var selectOptions = {
'SQ001': color=#ff0000]"---", "OUI", "NON"[/color,
'SQ002': color=#ff0000]"---", "min. 1 fois par semaine", "min. 1 fois par mois", "min. 1 par an", "Jamais"[/color,
'SQ003': color=#ff0000]"---", "OUI", "NON", "Je ne sais pas"[/color,
'SQ004': ["---", "0,25€", "0,50€", "0,75€", "1,00€", "1,25€", "1,50€", "1,75€", "2,0€", "2,5€", "3,0€", "3,5€", "4,0€", "4,5€", "5,0€", "5,5€", "6,0€", "6,5€", "7,0€", "7,5€", "8,0€", "8,5€", "9,0€", "9,5€", "10€" ]
};

var createSelect = function(key) {

var select = $('<select>');
$.each(selectOptions[key], function (id, value) {
var option = $('<option value="' + value + '">' + value + '</option>');
select.append(option);
});
return select;
};

var getKey = function(name) {

for (var testKey in selectOptions) {
if (name.indexOf('_' + testKey) > -1) {
return testKey;
}
}
return null;
};

$.each($(questionIdentifier).find('.subquestion-list input'), function(index, element){
var input = $(element);
var name = input.attr('name');
if ('text' == input.attr('type')) {
var key = getKey(name);
if (null != key) {
var select = createSelect(key);
input.parent().append(select);
select.val(input.val());
select.change(function(){
input.val(select.val());
});
input.css('display', 'none');
}
}
});
}); </script>
The topic has been locked.
  • Kingulian
  • Kingulian's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 years 10 months ago - 8 years 10 months ago #121864 by Kingulian
Bon, je fais n'importe quoi !

Voici le code :
Code:
<script>     $(function(){
        /** ID du questionnaire **/
        var questionIdentifier = '#question17';
        /** Options **/
        var selectOptions = {
            'SQ001': ["---", "OUI", "NON"],
            'SQ002': ["---", "min. 1 fois par semaine", "min. 1 fois par mois", "min. 1 par an", "Jamais"],
            'SQ003': ["---", "OUI", "NON", "Je ne sais pas"],
            'SQ004': ["---", "0,25€", "0,50€", "0,75€", "1,00€", "1,25€", "1,50€", "1,75€", "2,0€", "2,5€", "3,0€", "3,5€", "4,0€", "4,5€", "5,0€", "5,5€", "6,0€", "6,5€", "7,0€", "7,5€", "8,0€", "8,5€", "9,0€", "9,5€", "10€" ]
        };
 
        var createSelect = function(key) {
 
            var select = $('<select>');
            $.each(selectOptions[key], function (id, value) {
                var option = $('<option value="' + value + '">' + value + '</option>');
                select.append(option);
            });
            return select;
        };
 
        var getKey = function(name) {
 
            for (var testKey in selectOptions) {
                if (name.indexOf('_' + testKey) > -1) {
                    return testKey;
                }
            }
            return null;
        };
 
        $.each($(questionIdentifier).find('.subquestion-list input'), function(index, element){
            var input = $(element);
            var name = input.attr('name');
            if ('text' == input.attr('type')) {
                var key = getKey(name);
                if (null != key) {
                    var select = createSelect(key);
                    input.parent().append(select);
                    select.val(input.val());
                    select.change(function(){
                        input.val(select.val());
                    });
                    input.css('display', 'none');
                }
            }
        });
    }); </script>


ET VOUS CHANGEZ cette partie, au début :
Code:
 var questionIdentifier = '#question17';
        /** Options **/
        var selectOptions = {
            'SQ001': ["---", "OUI", "NON"],
            'SQ002': ["---", "min. 1 fois par semaine", "min. 1 fois par mois", "min. 1 par an", "Jamais"],
            'SQ003': ["---", "OUI", "NON", "Je ne sais pas"],
            'SQ004': ["---", "0,25€", "0,50€", "0,75€", "1,00€", "1,25€", "1,50€", "1,75€", "2,0€", "2,5€", "3,0€", "3,5€", "4,0€", "4,5€", "5,0€", "5,5€", "6,0€", "6,5€", "7,0€", "7,5€", "8,0€", "8,5€", "9,0€", "9,5€", "10€" ]
        };
Last edit: 8 years 10 months ago by DenisChenu. Reason: [code type=javascript]
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 years 10 months ago #121899 by DenisChenu
N'hésite pas à utiliser les balises code :)

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose