Erscheinen von Fragen abhängig von einer eingegeben Zahl möglich?

More
8 months 1 week ago #210183 by Joffm
Hallo, Christine,
zunächst kurz hierzu

ob man in der Gruppenrelevanz in diesem Fall statt "! is_empty(Q1_SQ001)" das ganze mit dem Operator AND verbindet und "! is_empty(Q1_SQ001) AND ! is_empty(Q1_SQ001)"

Das ist etwas sehr falsch gedacht.
Die Gruppenrelevanz dient doch dazu, die gesamte Gruppe des ersten Medikamentes, des zweiten, usw. anzuzeigen, wenn in der Frage nach den Medikamenten ein Name eingetragen war. Oder eben nicht.

Jetzt geht es aber darum, innerhalb einer Medikamentengruppe gewisse Fragen auszuwählen.

Gut: Zur Lösung.
1. Du legst die bisherige Frage nach Dosierung 4-mal an (für "morgens", "mittags", "abengs", "nachts")

Und jede dieser Fragen erhält die entsprechende Relevanzgleichung

"mittags" dann eben AntwortzuMed1b_SQ002=="Y"
"abends" dann eben AntwortzuMed1b_SQ003=="Y"
...

Das ergibt dann folgendes Bild


Ich finde es persönlich nicht so prickelnd.
In diesem Fall würde ich eine Matrix(Texte) vorziehen, die z.B. dieses bringen würde.


Also: Matrix(Texte) mit diesen Teilfragen

Du siehst, ich habe die x-Achse mit "X001", "X002", ... kodiert. Grund: Siehe unten.
Und die Teilfragen haben die Teilfragen-Relevanz

Genau wie vorher. Wenn der Zeitpunkt ausgewählt ist, wird gezeigt.


Das javascript dazu ist dieses:
<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);
      });
    });
 
 
    // Insert selects
    $('.answer-item.answer_cell_X002', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\
  <option value="">...</option>\
  <option value="1">μg (Mikrogramm)</option>\
  <option value="2">mg (Milligramm)</option>\
  <option value="3">g (Gramm)</option>\
  <option value="4">ml (Milliliter)</option>\
  <option value="5">Tropfen</option>\
  <option value="6">IE (Internationale Einheiten)</option>\
</select>');
 
    // Listeners
    $('.inserted-select', thisQuestion).on('change', function(i) {
      if($(this).val() != '') {
        $(this).closest('.answer-item').find('input:text').val($('option:selected', this).val()).trigger('change');
      }
      else {
        $(this).closest('.answer-item').find('input:text').val('').trigger('change');
      }
    });
 
  // Returning to page
    $('.with-select input:text', thisQuestion).each(function(i) {
      var thisCell = $(this).closest('.answer-item');
      var inputText = $.trim($(this).val());
      $('select.inserted-select', thisCell).val(inputText);
    });
 
    // Clean-up styles
    $('select.inserted-select', thisQuestion).css({
      'max-width': '100%'
    });
    $('.with-select input:text', thisQuestion).css({
      'position': 'absolute',
      'left': '-9999em'
    });
  });
</script>

Du siehst hier $('.answer-item.answer_cell_X002 wird auf die zweite Spalte referenziert, in welcher das Drop-Down eingefügt wird.

Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Attachments:
The following user(s) said Thank You: Christine255

Please Log in to join the conversation.

More
8 months 1 week ago #210229 by Christine255
Hallo Joffm,

vielen Dank für die ausführlich Anleitung und den Vorschlag mit den Matrix(Texte)-Teilfragen. Ich stimme dir zu, dass es so wesentlich besser aussieht. Die Umsetzung hat soweit gut geklappt. Leider erscheint bei mir immer die ganze Tabelle mit den Einnahmezeitpunkten morgens, mittags, abends, nachts und bei Bedarf, wenn ich z.B. nur einen Zeitpunkt auswähle (s. Foto). Die Codes, Teilfragen und Relevanzgleichungen habe ich wie von dir erklärt eingegeben. Kann es sein, dass ich irgendwo einen Fehler mache?

Beste Grüße
Christine
Attachments:

Please Log in to join the conversation.

More
8 months 1 week ago - 8 months 1 week ago #210231 by Joffm
Heißt die hier angezeigte Frage nach den Zeitpunkten auch "AntwortzuMed2b"? Oder anders?
Das musst Du natürlich jedesmal anpassen.

Und wieso wird die Gruppe angezeigt, obwohl anscheinend kein Medikament eingetragen wurde?
Joffm

Und hänge am besten immer den lss export der Studie an.
Wie soll man sonst etwas wirklich sehen können?


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 8 months 1 week ago by Joffm.
The following user(s) said Thank You: Christine255

Please Log in to join the conversation.

More
8 months 1 week ago #210266 by Christine255
Hallo Joffm,

die Frage nach den Zeitpunkten heißt "AntwortzuMed2b". Sende dir die Umfrage anbei. Deinen Vorschlag hab ich bisher nur bei dem zweiten Medikament umgesetzt, also nicht wundern, warum die Fragen bei den anderen Medikamenten noch "alt" sind.

Ich habe einen Screenshot von der Fragenvorschau gemacht. Wahrscheinlich wird deswegen die Gruppe angezeigt, obwohl kein Medikament eingetragen wurde.

Beste Grüße
Christine

 
Attachments:

Please Log in to join the conversation.

More
8 months 1 week ago - 8 months 1 week ago #210270 by Joffm
Tja,
in "AntwortzuMed1ca" hast Du eine Matrix eingebaut, aber keine Teilfragenrelevanz.
Deswegen kommt bei "morgens" auch die gesamte Matrix.
Wenn dagegen nur "mittags" oder "abends" geklickt sind, siehst Du auch nur die einzelnen Fragen dazu (was Du ja dann nicht machen wirst) (screenshot 1)
Und im zweiten Medikamentenblock ist doch alles wunderbar, oder? Siehe screenshot1; ich habe mir die Fragenbezeichnungen anzeigen lassen, weil ich sonst etwas verwirrt war (wegen der Matrix in der ersten Gruppe)
Also mache es, wie in AntwortzuMed2a/b/c und es passt.

Joffm

P.S.
Im Hilfetext wird von "Sprühstoß" geredet; im Drop-Down gibt es diese Option aber (noch) nicht.
Ich habe einen Screenshot von der Fragenvorschau gemacht. Wahrscheinlich wird deswegen die Gruppe angezeigt, obwohl kein Medikament eingetragen wurde.
Den Satz habe jetzt erst wieder realisiert.
Klar, wie soll die Vorschau einer einzelnen Frage wissen, was in einer vorherigen Frage (nicht) eingetragen wurde.


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Attachments:
Last edit: 8 months 1 week ago by Joffm.
The following user(s) said Thank You: Christine255

Please Log in to join the conversation.

More
8 months 1 week ago #210276 by Christine255
Hallo Joffm,

ich bin auch doof... Habe beim Testen immer nur ein Medikament eingegeben und bin so natürlich nie zur zweiten Matrix-Frage gekommen.  Werde das nun für die anderen Fragen übernehmen.

Vielen Dank für den Hinweis mit den Sprühstößen!

Beste Grüße
Christine 

Please Log in to join the conversation.

More
8 months 6 days ago #210291 by Joffm
Hallo, Christine

ich bin auch doof... Habe beim Testen immer nur ein Medikament eingegeben

Ach, was. Das passiert eben. Mir doch auch.
Ich weiß wie sehr man sich dann ärgert. Man "kämpft", versucht dann etwas anderes, (das auch nicht klappt),  man verzweifelt fast...
Und wenn man es dann endlich (hoffentlich) gefunden hat, könnte man sich "in den Hintern beißen"
Das macht der Wald und die Bäume, oder war es umgekehrt?

Deswegen ist es immer gut, wenn wir hier die gesamte Umfrage sehen.

Joffm
 


Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now