Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: Ajouter une modalité de réponse si la précédente est remplie

Ajouter une modalité de réponse si la précédente est remplie 6 Monate 2 Tage her #107857

  • Remundo
  • Remundos Avatar
  • OFFLINE
  • Platinum Lime
  • Beiträge: 397
  • Dank erhalten: 29
  • Karma: 10
Bonjour,
J'aimerais connaître un code tout simple me permettant d'ajouter automatiquement une modalité de réponse à une question si la modalité précédente est déjà remplie.

Voir pièce jointe pour l'exemple : n'afficher que "Etablissement 2" si "Etablissement 1" est renseigné.
L'idéal serait que le répondant puisse ajouter librement une modalité supplémentaire ou non à la question!

Ensuite à la question suivante, il doit choisir un établissement parmi celui ou ceux donnés dans la question ci-dessus.
Est-il possible avec un code du type {INSERTANSX11111X11111X111111SQ111} que cela fonctionne avec deux questions présentes dans le même groupe? Je sais que cela fonctionne avec un affichage question par question.

Merci.
Anhang:
Rémi Biscueil
Technicien en production et analyse de données
Service de l'évaluation, des études et du pilotage
15, Rue de l'Hôtel Dieu 86022 POITIERS Cedex
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Ajouter une modalité de réponse si la précédente est remplie 6 Monate 1 Tag her #107864

  • DenisChenu
  • DenisChenus Avatar
  • OFFLINE
  • Moderator Lime
  • Beiträge: 6451
  • Dank erhalten: 844
  • Karma: 249
Salut,

Workaround uniquement : manual.limesurvey.org/Workarounds:_Manip...ipt#Expandable_Array

Pour la 2èpe solution: ta version de LimeSurvey est encore ancienne, non ? Parceque'il me semble que sur la dernière ca marche quasi direct.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Ajouter une modalité de réponse si la précédente est remplie 6 Monate 1 Tag her #107866

  • Remundo
  • Remundos Avatar
  • OFFLINE
  • Platinum Lime
  • Beiträge: 397
  • Dank erhalten: 29
  • Karma: 10
Oui, c'est la version 1.91. Impossible pour nous de mettre à jour avant fin mai car nous utilisons des logiciels non compatibles avec les nouvelles versions pour nos enquêtes en cours.

Merci pour le code, c'est déjà mieux mais quelle partie du code dois-je modifier pour faire apparaître une seconde modalité uniquement si la première est remplie et non cochée ou cliquée?

<script type="text/javascript">

$(document).ready(function() {

// A function to show subsequent rows of an array as options are checked
function expandingArray(qID) {

// Build an array of the question rows
var arrayRow = '#question' + qID + ' table.question tbody tr';

// Initially hide all rows unless an input was previously checked
$( arrayRow ).each(function(i) {

if ( $( arrayRow + ':eq(' + i + ') input.radio:checked' ).length != 0 ) {
$(this).attr('name', 'clickedRow');
}
else {
$(this).attr('name', 'hidden').hide();
}
});

// Now show the first hidden row
addRow();

// Add another row when an option is checked for the first time
$( '#question' + qID + ' td.answer input.radio' ).click(function (event) {

if ($(this).parents('tr:eq(0)').attr('name') != 'clickedRow') {
addRow();
$(this).parents('tr:eq(0)').attr('name', 'clickedRow');
}

// The original function of the click event
checkconditions(this.value, this.name, this.type);
});

// Add another row when an table cell is clicked for the first time
$( '#question' + qID + ' table.question tbody td' ).click(function (event) {

if ($(this).parents('tr:eq(0)').attr('name') != 'clickedRow') {
addRow();
$(this).parents('tr:eq(0)').attr('name', 'clickedRow');
}
});

// Function to add a row
function addRow() {
$( arrayRow + '[name="hidden"]:first' ).attr('name', 'visible').show();
}
}

// Call the function with a question ID
expandingArray(QQ);

});
</script>
Rémi Biscueil
Technicien en production et analyse de données
Service de l'évaluation, des études et du pilotage
15, Rue de l'Hôtel Dieu 86022 POITIERS Cedex
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Ajouter une modalité de réponse si la précédente est remplie 6 Monate 1 Tag her #107902

  • Remundo
  • Remundos Avatar
  • OFFLINE
  • Platinum Lime
  • Beiträge: 397
  • Dank erhalten: 29
  • Karma: 10
Denis, si tu peux m'aider là-dessus, sinon tant pis je laisse facultatif avec plusieurs champs affichés d'office.
Remundo schrieb:
Oui, c'est la version 1.91. Impossible pour nous de mettre à jour avant fin mai car nous utilisons des logiciels non compatibles avec les nouvelles versions pour nos enquêtes en cours.

Merci pour le code, c'est déjà mieux mais quelle partie du code dois-je modifier pour faire apparaître une seconde modalité uniquement si la première est remplie et non cochée ou cliquée?

<script type="text/javascript">

$(document).ready(function() {

// A function to show subsequent rows of an array as options are checked
function expandingArray(qID) {

// Build an array of the question rows
var arrayRow = '#question' + qID + ' table.question tbody tr';

// Initially hide all rows unless an input was previously checked
$( arrayRow ).each(function(i) {

if ( $( arrayRow + ':eq(' + i + ') input.radio:checked' ).length != 0 ) {
$(this).attr('name', 'clickedRow');
}
else {
$(this).attr('name', 'hidden').hide();
}
});

// Now show the first hidden row
addRow();

// Add another row when an option is checked for the first time
$( '#question' + qID + ' td.answer input.radio' ).click(function (event) {

if ($(this).parents('tr:eq(0)').attr('name') != 'clickedRow') {
addRow();
$(this).parents('tr:eq(0)').attr('name', 'clickedRow');
}

// The original function of the click event
checkconditions(this.value, this.name, this.type);
});

// Add another row when an table cell is clicked for the first time
$( '#question' + qID + ' table.question tbody td' ).click(function (event) {

if ($(this).parents('tr:eq(0)').attr('name') != 'clickedRow') {
addRow();
$(this).parents('tr:eq(0)').attr('name', 'clickedRow');
}
});

// Function to add a row
function addRow() {
$( arrayRow + '[name="hidden"]:first' ).attr('name', 'visible').show();
}
}

// Call the function with a question ID
expandingArray(QQ);

});
</script>
Rémi Biscueil
Technicien en production et analyse de données
Service de l'évaluation, des études et du pilotage
15, Rue de l'Hôtel Dieu 86022 POITIERS Cedex
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: Nickko
Ladezeit der Seite: 0.127 Sekunden
Donation Image