On page load, you will need to loop through all of the column-2 inserted drop-downs and handle the corresponding column-3 drop-down.
Code:
<script type="text/javascript" data-author="Tony Partner">
$(document).on('ready pjax:scriptcomplete',function(){
var thisQuestion = $('#question{QID}');
// Insert selects
$('.answer-item.answer_cell_X001', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\
<option value="">...</option>\
<optgroup label="Altona">\
<option value="1">Altona-Altstadt</option>\
<option value="2">Altona-Nord</option>\
<option value="3">Bahrenfeld</option>\
<option value="4">Blankenese</option>\
</optgroup>\
<optgroup label="Bergedorf">\
<option value="5">Allermöhe</option>\
<option value="6">Altengamme</option>\
<option value="7">Billwerder</option>\
</optgroup>\
</select>');
$('.answer-item.answer_cell_X002', thisQuestion).addClass('with-select').append('<select name="select1" class="inserted-select form-control list-question-select">\
<option value="">...</option>\
<option value="1">Fußball</option>\
<option value="2">Handball</option>\
<option value="3">Karate</option>\
<option value="4">Leichtathletik</option>\
<option value="5">Schwimmen</option>\
<option value="6">Volleyball</option>\
</select>');
$('select[name="select1"] option[value="2"]').attr('selected','selected');
$('.answer-item.answer_cell_X003', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\
<option value="">...</option>\
<option value="1">U8 (2014 und jünger)</option>\
<option value="2">U10 (2012-2013)</option>\
<option value="3">U12 (2010-2011)</option>\
<option value="4">U14 (2008-2009)</option>\
<option value="5">U16 (2006-2007)</option>\
<option value="6" selected>U18 (2004-2005)</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');
}
// 3rd column conditional on 2nd column
if($(this).closest('.answer-item').hasClass('answer_cell_X002')) {
handleColumnX003($(this));
}
});
function handleColumnX003(thisSelect) {
var thisRow = $(thisSelect).closest('tr.subquestion-list');
var item3 = $('.answer_cell_X003', thisRow);
if($(thisSelect).val() < '3') {
$('.inserted-select', item3).prop('disabled', false);
$('input:text', item3).val('4').trigger('change');
}
else {
$('.inserted-select', item3).val('').prop('disabled', true);
$('input:text', item3).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);
});
$('.answer_cell_X002 .inserted-select').each(function(i) {
handleColumnX003($(this));
});
// Clean-up styles
$('select.inserted-select', thisQuestion).css({
'max-width': '100%'
});
$('.with-select input:text', thisQuestion).css({
'position': 'absolute',
'left': '-9999em'
});
});
</script>