Guten Morgen zusammen,
vielleicht habt Ihr eine Idee, ob das mit LimeSurvey oder CSS/Javascript möglich ist, und wenn ja, wie.
Ich möchte in einer Matrix abfragen ob ein bestimmtes Produkt im Einsatz ist und in welcher Version.
Falls das Produkt nicht in der angegebenen Version im Einsatz ist, habe ich ein Feld "Sonstiges"eingefügt in dem man die Version eintragen kann.
Dazu gibt es noch die Abfrage "Bedarf an Version", also ob grundsätzlich der Bedarf an einer Version besteht.
Jetzt sollten nach Möglichkeit die Ankreuzfelder "Version1, Version2 und Version3" ausgegraut werden, falls man direkt "Bedarf an Version" auswählt.
Mit den Bedingungen innerhalb einer Matrix ist das nicht möglich, habt Ihr dazu eine Idee, ob das gehen könnte?
Für das Feld "Sonstiges" habe ich bereits hier aus dem Forum folgendes Javascript eingefügt, damit es an einer bestimmten Stelle steht:
Code:
<script type="text/javascript" charset="utf-8">
$(document).on('ready pjax:scriptcomplete',function(){
// Identify this question
var thisQuestion = $('#question{QID}');
// Column-specific classes
$('tr.subquestion-list', thisQuestion).each(function(i) {
$('th, td', this).each(function(i) {
$(this).addClass('column-'+i);
});
});
// Insert checkboxes
$('.answer-item.column-1, .answer-item.column-2, .answer-item.column-3, .answer-item.column-5', thisQuestion).addClass('custom-checkbox-item');
$('.custom-checkbox-item', thisQuestion).each(function(i) {
var thisID = $('input:text:eq(0)', this).attr('id');
$('label', this).before('<input class="" id="'+thisID+'" value="Y" type="checkbox" name="'+thisID.replace(/answer/, '')+'" />');
if($('input:text:eq(0)', this).val() == 'Y') {
$('input:checkbox:eq(0)', this).prop('checked', true);
}
$(this).removeClass('text-item').addClass('checkbox-item');
$('input:text:eq(0)', this).remove();
});
// Identify exclusive items
$('.answer-item.column-1, .answer-item.column-2, .answer-item.column-3, .answer-item.column-5', thisQuestion).addClass('non-exclusive-item');
$('.answer-item.column-7, .answer-item.column-8', thisQuestion).addClass('exclusive-item');
// Listeners for exclusive items
$('.non-exclusive-item input:checkbox', thisQuestion).on('change', function(e) {
if($(this).is(':checked')) {
$(this).closest('tr.subquestion-list').find('.exclusive-item input:checkbox').prop('checked', false);
}
});
$('.non-exclusive-item input:text', thisQuestion).on('keyup change', function(e) {
if($.trim($(this).val()) != '') {
$(this).closest('tr.subquestion-list').find('.exclusive-item input:checkbox').prop('checked', false);
}
});
$('.exclusive-item input:checkbox', thisQuestion).on('change', function(e) {
if($(this).is(':checked')) {
var thisItem = $(this).closest('.answer-item');
$(this).closest('tr.subquestion-list').find('.answer-item').not(thisItem).find('input:checkbox').prop('checked', false);
$(this).closest('tr.subquestion-list').find('input:text').val('');
}
});
});
</script>
Ich weiß leider nicht, wie ich Javscript so verändern/einarbeiten könnte, das die Ankreufelder bei der Auswahl ausgegraut werden, falls es überhaupt geht.
Einen Screenshot und den .lss Export füge ich an.
Vielen Dank für die Hilfe!