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:
Code:
<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