Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: Array question with answers in dropdown boxes

Re: Array question with answers in dropdown boxes 1 Jahr 3 Monate her #94907

  • ricardo
  • ricardos Avatar
  • OFFLINE
  • Expert Lime
  • Beiträge: 110
  • Dank erhalten: 1
  • Karma: 0

Dateianhang:

Dateiname: dropdown.txt
Dateigröße: 27 KB

Thank you Mazi,

attached find the java script and the question in .lsq format. Again, in columns 2 and 3 I have fewer items than in column 1, so I'd like to get rid of those extra numbers.


dropdown.png


Thanks for your help


Dateianhang:

Dateiname: dropdownquestion.lsq
Dateigröße: 34 KB


Dateianhang:

Dateiname: dropdown.txt
Dateigröße: 27 KB
Letzte Änderung: 1 Jahr 3 Monate her von ricardo. Begründung: attach file
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Re: Array question with answers in dropdown boxes 1 Jahr 3 Monate her #94926

  • ricardo
  • ricardos Avatar
  • OFFLINE
  • Expert Lime
  • Beiträge: 110
  • Dank erhalten: 1
  • Karma: 0
I think I almost got it. I hid the text for the items I don't need. However, when I paste and save the javascript in the question source, the code breaks around line 847. Is there a limited amount of text that can be saved in the question source?

This is what I paste


copyandpastethis.PNG


and this is what is saved


thisissaved.PNG


This is my updated javascript

Dateianhang:

Dateiname: dropdown_2013-04-15.txt
Dateigröße: 69 KB





Thanks in advance for your help
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Re: Array question with answers in dropdown boxes 1 Jahr 3 Monate her #94931

  • tpartner
  • tpartners Avatar
  • OFFLINE
  • LimeSurvey Team
  • Beiträge: 4054
  • Dank erhalten: 740
  • Karma: 341
Dunno why that's being truncated but you should be able to replace all of those lines with a simple loop.

Replace all of the lines like this:
$('#question174 .answer_cell_003 option[value=6]').text('').hide();


With this block:
$('#question174 .answer_cell_003 option').each(function(i){
	if($(this).val() > 5) {
		$(this).remove();
	}
});
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Re: Array question with answers in dropdown boxes 1 Jahr 3 Monate her #94937

  • ricardo
  • ricardos Avatar
  • OFFLINE
  • Expert Lime
  • Beiträge: 110
  • Dank erhalten: 1
  • Karma: 0
Thanks Tony! It worked for this example.

I need to create a similar question listing US universities (n=3492)...my javascript has 3983 lines. The problem is that when I paste it in the question source, it gets truncated around line 695.

is there a way to solve this?

ricardo
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Re: Array question with answers in dropdown boxes 1 Jahr 3 Monate her #94940

  • tpartner
  • tpartners Avatar
  • OFFLINE
  • LimeSurvey Team
  • Beiträge: 4054
  • Dank erhalten: 740
  • Karma: 341
Try removing the script from the question source and place it at the end of template.js

Remove the opening script tag:
<script charset="utf-8" type="text/javascript">
And the closing script tag:
</script>
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Re: Array question with answers in dropdown boxes 1 Jahr 2 Monate her #95351

  • ricardo
  • ricardos Avatar
  • OFFLINE
  • Expert Lime
  • Beiträge: 110
  • Dank erhalten: 1
  • Karma: 0
OK...now a twist to my question

I've used the array number question type to create dropdown lists in each column...but what about for only one column?

For another question, I'd like to have participants enter their own text in the first three columns of an array text, but create a dropdown list for the 4 column.

how can I do this?

cheers,

ricardo
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Re: Array question with answers in dropdown boxes 1 Jahr 2 Monate her #95360

  • tpartner
  • tpartners Avatar
  • OFFLINE
  • LimeSurvey Team
  • Beiträge: 4054
  • Dank erhalten: 740
  • Karma: 341
You should be able to use a variation of this - www.limesurvey.org/en/forum/can-i-do-thi...-text?start=10#95279

Can you attach a sample survey containing only that question?
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Re: Array question with answers in dropdown boxes 1 Jahr 2 Monate her #95365

  • ricardo
  • ricardos Avatar
  • OFFLINE
  • Expert Lime
  • Beiträge: 110
  • Dank erhalten: 1
  • Karma: 0
Thanks, Tony.

Yes, the workaround you mention worked smoothly for the multiple short text question. I hope this can be implemented on the array (texts) question.

Attached is the file. As I mentioned, I'd like to have the 4th column display a drop-down list.

Dateianhang:

Dateiname: array_texts_with_dropdown.lss
Dateigröße: 16 KB
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Re: Array question with answers in dropdown boxes 1 Jahr 2 Monate her #95370

  • tpartner
  • tpartners Avatar
  • OFFLINE
  • LimeSurvey Team
  • Beiträge: 4054
  • Dank erhalten: 740
  • Karma: 341
Here you go.

If your sub-question code for the fourth column is "4", then this script will insert the dropdowns:
<script type="text/javascript" charset="utf-8">
	$(document).ready(function() {
 
		var qID = {QID};
 
		// Define the select element (dropdown)
		var select1 = '<select class="insertedSelect"> \
							<option value="">-- Please Choose --</option> \
							<option value="Program 1">Program 1</option> \
							<option value="Program 2">Program 2</option> \
							<option value="Program 3">Program 3</option> \
							<option value="Program 4">Program 4</option> \
						</select>';
 
		// Hide the text inputs
		$('#question'+qID+' .answer_cell_004 input[type="text"]').hide().parent().hide();
 
		// Insert the select elements
		$('#question'+qID+' .answer_cell_004').append(select1);
 
		// Initially select an option if the question has already been answered
		$('#question'+qID+' .answer_cell_004 input[type="text"]').each(function(i){
			if($(this).val()) {
				$(this).closest('td').find('.insertedSelect').val($(this).val());
			}
		});
 
		// Listener on the dropdowns - insert selected values into hidden text input
		$('.insertedSelect').change(function() {
			$(this).closest('td').find('input[type="text"]').val($(this).val());
		});
	});
</script>

I've inserted that script in the source of the question in this attached sample survey.

Dateianhang:

Dateiname: limesurvey_survey_372272.lss
Dateigröße: 18 KB
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Folgende Benutzer bedankten sich: ricardo

Re: Array question with answers in dropdown boxes 1 Monat 2 Wochen her #109834

  • ricardo
  • ricardos Avatar
  • OFFLINE
  • Expert Lime
  • Beiträge: 110
  • Dank erhalten: 1
  • Karma: 0
Hello,

I have an array question with answers in dropdown boxes...I've been using the following code but it has stopped working. The column where the dropdown boxes shoud appear are now empty...see picture below


dropdownempty.png



<script type="text/javascript" charset="utf-8">
$(document).ready(function() {

var qID = {QID};

// Define the select element (dropdown)
var select1 = '<select class="insertedSelect"> \
<option value="">-- Please Choose --</option> \
<option value="Yes">Yes</option> \
<option value="No">No</option> \
<option value="Unsure">Unsure</option> \
</select>';

// Hide the text inputs
$('#question'+qID+' .answer_cell_004 input[type="text"]').hide().parent().hide();

// Insert the select elements
$('#question'+qID+' .answer_cell_004').append(select1);

// Initially select an option if the question has already been answered
$('#question'+qID+' .answer_cell_004 input[type="text"]').each(function(i){
if($(this).val()) {
$(this).closest('td').find('.insertedSelect').val($(this).val());
}
});

// Listener on the dropdowns - insert selected values into hidden text input
$('.insertedSelect').change(function() {
$(this).closest('td').find('input[type="text"]').val($(this).val());
});
});
</script>Enter the following information about your course(s):
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: ITEd
Ladezeit der Seite: 0.161 Sekunden
Donation Image