- Posts: 42
- Thank you received: 1
Ask the community, share ideas, and connect with other LimeSurvey users!
<script type="text/javascript" charset="utf-8"> $(document).on('ready pjax:scriptcomplete',function(){ var thisQuestion = $('#question{QID}'); // Insert selects $('.answer-item.answer_cell_change', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="" selected>Bitte auswählen</option>\ <option value="1">Zunahme um</option>\ <option value="0">Gleichbleibend</option>\ <option value="2">Abnahme um</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); }); // Listener on column 2 inputs $('.answer-item.answer_cell_change input:text', thisQuestion).on('keyup change', function(e) { var thisValue = $.trim($(this).val()); // Numerics only if($.isNumeric(thisValue) === false) { // Strip out non-numerics characters newValue = thisValue.replace(/\D/g,''); $(this).val(newValue).trigger('change'); } // Max/min values var maxAllowed = 100; var minAllowed = 0; if (thisValue > maxAllowed) { alert('The maximum allowed is '+maxAllowed+'.'); $(this).val(maxAllowed); } else if (thisValue < minAllowed) { alert('The minimum allowed is '+minAllowed+'.'); $(this).val(minAllowed); } }); // Clean-up styles $('select.inserted-select', thisQuestion).css({ 'max-width': '100%' }); $('.with-select input:text', thisQuestion).css({ 'position': 'absolute', 'left': '-9999em' }); }); </script> And this is how it looks like when it is duplicated: [attachment=31896]lime.jpg[/attachment] Can somebody help me to prevent the field from duplicating (or triplicating when you send it again without mandatory data)? Thanks in advance, Ralf
Please Log in to join the conversation.
// Listener on column 2 inputs $('.answer-item.answer_cell_change input:text', thisQuestion).on('keyup change', function(e) { var thisValue = $.trim($(this).val()); // Numerics only if($.isNumeric(thisValue) === false) { // Strip out non-numerics characters newValue = thisValue.replace(/\D/g,''); $(this).val(newValue).trigger('change'); } // Max/min values var maxAllowed = 100; var minAllowed = 0; if (thisValue > maxAllowed) { alert('The maximum allowed is '+maxAllowed+'.'); $(this).val(maxAllowed); } else if (thisValue < minAllowed) { alert('The minimum allowed is '+minAllowed+'.'); $(this).val(minAllowed); } });
Please Log in to join the conversation.
Please Log in to join the conversation.
Please Log in to join the conversation.
Please Log in to join the conversation.
Please Log in to join the conversation.
// Listener on column 2 inputs $('.answer-item.answer_cell_change input:text', thisQuestion).on('keyup change', function(e) { var thisValue = $.trim($(this).val());
// Listener on column 2 inputs $('.answer-item.answer_cell_Wert input:text', thisQuestion).on('keyup change', function(e) { var thisValue = $.trim($(this).val());
Please Log in to join the conversation.
Please Log in to join the conversation.
Please Log in to join the conversation.
<script type="text/javascript" data-author="Tony Partner"> $(document).on('ready pjax:scriptcomplete',function(){ var thisQuestion = $('#question{QID}'); if($('.inserted-select', thisQuestion).length == 0) { // Insert selects $('.answer-item.answer_cell_change', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="" selected>Bitte auswählen</option>\ <option value="1">Zunahme um</option>\ <option value="0">Gleichbleibend</option>\ <option value="2">Abnahme um</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); }); // Listener on column 2 inputs $('.answer-item.answer_cell_change input:text', thisQuestion).on('keyup change', function(e) { var thisValue = $.trim($(this).val()); // Numerics only if($.isNumeric(thisValue) === false) { // Strip out non-numerics characters newValue = thisValue.replace(/\D/g,''); $(this).val(newValue).trigger('change'); } // Max/min values var maxAllowed = 100; var minAllowed = 0; if (thisValue > maxAllowed) { alert('The maximum allowed is '+maxAllowed+'.'); $(this).val(maxAllowed); } else if (thisValue < minAllowed) { alert('The minimum allowed is '+minAllowed+'.'); $(this).val(minAllowed); } }); // Clean-up styles $('select.inserted-select', thisQuestion).css({ 'max-width': '100%' }); $('.with-select input:text', thisQuestion).css({ 'position': 'absolute', 'left': '-9999em' }); } }); </script>
Please Log in to join the conversation.
<script type="text/javascript" data-author="Tony Partner"> $(document).on('ready pjax:scriptcomplete',function(){ var thisQuestion = $('#question{QID}'); if($('.inserted-select', thisQuestion).length == 0) { // Column-specific classes $('tr.subquestion-list', thisQuestion).each(function(i) { $('th, td', this).each(function(i) { $(this).addClass('column-'+i); }); }); // Insert selects into column 1 if($('.answer-item.column-1 .inserted-select', thisQuestion).length == 0) { $('.answer-item.column-1', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="" selected>Bitte auswählen...</option>\ <option value="1">Zunahme um</option>\ <option value="0">Gleichbleibend</option>\ <option value="2">Abnahme um</option>\ </select>'); } // Insert selects into column 3 if($('.answer-item.column-3 .inserted-select', thisQuestion).length == 0) { $('.answer-item.column-3', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="" selected>Bitte auswählen...</option>\ <option value="1">Zunahme um</option>\ <option value="0">Gleichbleibend</option>\ <option value="2">Abnahme um</option>\ </select>'); } // Insert selects into column 5 if($('.answer-item.column-5 .inserted-select', thisQuestion).length == 0) { $('.answer-item.column-5', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="" selected>Bitte auswählen...</option>\ <option value="1">Zunahme um</option>\ <option value="0">Gleichbleibend</option>\ <option value="2">Abnahme um</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); }); // Listener on column 2 inputs $('.answer-item.answer_cell_change input:text', thisQuestion).on('keyup change', function(e) { var thisValue = $.trim($(this).val()); // Numerics only if($.isNumeric(thisValue) === false) { // Strip out non-numerics characters newValue = thisValue.replace(/\D/g,''); $(this).val(newValue).trigger('change'); } // Max/min values var maxAllowed = 100; var minAllowed = 0; if (thisValue > maxAllowed) { alert('The maximum allowed is '+maxAllowed+'.'); $(this).val(maxAllowed); } else if (thisValue < minAllowed) { alert('The minimum allowed is '+minAllowed+'.'); $(this).val(minAllowed); } }); // Clean-up styles $('select.inserted-select', thisQuestion).css({ 'max-width': '100%' }); $('.with-select input:text', thisQuestion).css({ 'position': 'absolute', 'left': '-9999em' }); } }); </script>
Please Log in to join the conversation.
<script type="text/javascript" data-author="Tony Partner"> $(document).on('ready pjax:scriptcomplete',function(){ var thisQuestion = $('#question{QID}'); if($('.inserted-select', thisQuestion).length == 0) { // Column-specific classes $('tr.subquestion-list', thisQuestion).each(function(i) { $('th, td', this).each(function(i) { $(this).addClass('column-'+i); }); }); // Insert selects into column 1 $('.answer-item.column-1', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="" selected>Bitte auswählen...</option>\ <option value="1">Zunahme um</option>\ <option value="0">Gleichbleibend</option>\ <option value="2">Abnahme um</option>\ </select>'); // Insert selects into column 3 $('.answer-item.column-3', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="" selected>Bitte auswählen...</option>\ <option value="1">Zunahme um</option>\ <option value="0">Gleichbleibend</option>\ <option value="2">Abnahme um</option>\ </select>'); // Insert selects into column 5 $('.answer-item.column-5', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="" selected>Bitte auswählen...</option>\ <option value="1">Zunahme um</option>\ <option value="0">Gleichbleibend</option>\ <option value="2">Abnahme um</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); }); // Listener on column 2 inputs $('.answer-item.answer_cell_change input:text', thisQuestion).on('keyup change', function(e) { var thisValue = $.trim($(this).val()); // Numerics only if($.isNumeric(thisValue) === false) { // Strip out non-numerics characters newValue = thisValue.replace(/\D/g,''); $(this).val(newValue).trigger('change'); } // Max/min values var maxAllowed = 100; var minAllowed = 0; if (thisValue > maxAllowed) { alert('The maximum allowed is '+maxAllowed+'.'); $(this).val(maxAllowed); } else if (thisValue < minAllowed) { alert('The minimum allowed is '+minAllowed+'.'); $(this).val(minAllowed); } }); // Clean-up styles $('select.inserted-select', thisQuestion).css({ 'max-width': '100%' }); $('.with-select input:text', thisQuestion).css({ 'position': 'absolute', 'left': '-9999em' }); } }); </script>
Please Log in to join the conversation.