I have now an array(text) as the first question and list(dropdown) as the 2nd. What do I need to change in the javascript code?
No, this is a different approach.
You use only one question, an arrayText)
With the javascript you insert a dropdown into the second column.
Code:
<script type="text/javascript" charset="utf-8">
$(document).on('ready pjax:scriptcomplete',function(){
var thisQuestion = $('#question{QID}');
// 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">Calculation</option>\
<option value="2">Estimation</option>\
<option value="3">Don\'t know</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).[url=https://www.php.net/each]each[/url](function(i) {
var thisCell = $(this).closest('.answer-item');
var inputText = $.[url=https://www.php.net/trim]trim[/url]($(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>
Here the code of the second column is "X002"