Mehrfach nummerische Eingabe: Subquestion-Text hinter Eingabefeld

More
1 year 6 months ago #195599 by LeonaK
Hallo liebe Forum-Mitglieder,

in unserer LimeSurvey-Umfrage möchten wir an einer Stelle abfragen, wie lange die Befragten im Bereich x bisher tätig waren.
Die Umfrageteilnehmer*innen sollen das dann in Jahren und Monaten angeben.

Dazu habe ich die Frage mit dem Fragetyp "mehrfach nummerisch Eingabe" eingefügt. Es taucht dann jeweils eine Zeile auf, in der man die Jahre bzw. die Monate eintragen kann (-->Subquestions).

Das einzige Problem: Der Name der jeweiligen Subquestion Jahre bzw. Monate stets jeweils vor dem Eingabefeld.
Ist es auch möglich, dass diese Angabe (also der Name/Angabe der Subquestion) durch eine Einstellung hinter dem Eingabefeld angezeigt wird?
Ich habe es bereits bei den allgemeinen Einstellungen mit der Suffix-Eingabe probiert. Allerdings taucht dann hinter jeder Spalte Jahre; Monate auf.

Viele Grüße und danke,
Leona
The topic has been locked.
More
1 year 6 months ago #195600 by jelo

Ist es auch möglich, dass diese Angabe (also der Name/Angabe der Subquestion) durch eine Einstellung hinter dem Eingabefeld angezeigt wird?

In einigen Textfeldern wird ein Separator unterstützt. Das ist das Zeichen"|" hier.
Im Textfeld ist dann "Prefix|Suffix". Also z.B. "|Jahre" eingeben und schauen, ob Jahre dann hinter dem Eingabefeld auftaucht.

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
The topic has been locked.
More
1 year 5 months ago #195768 by LeonaK
Hallo Jelo,

vielen Dank für deine schnelle Antwort.
Ich habe deinen Hinweis gerade ausprobiert und leider hat es wie von dir beschrieben nicht geklappt.
Gibt es ggf. noch eine andere Lösung für das Problem?

Viele Grüße und danke,
Leona
The topic has been locked.
More
1 year 5 months ago #195789 by Joffm
Hallo,
wenn Du auf diesem Layout bestehst, kommen wir um eine javascript-Lösung nicht herum.
Aber: spricht denn so viel dagegen, die Einheit VOR das Eingabefeld zu setzen?
Das werden die Umfrageteilnehmer doch noch raffen.

Und dann gäbe es ja auch einen anderen Ansatz, nämlich ein array(Zahlen) mit einer Zeile und zwei Spalten


Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Attachments:
The topic has been locked.
More
1 year 5 months ago - 1 year 5 months ago #195818 by Joffm
Hallo,
noch ein kleiner Zusatz:
Du könnest auch ein array(Zahlen) mit Drop-Downs benutzen.
(Dazu gibt es ja genügend Beispiele hier. Im Ernstfall schicke ich noch eins)

Dann musst Du nämlich nicht zusätzlich validieren, dass die Teilnehmer nicht 2 Jahre und 26 Monate eingeben.





Viel Erfolg

Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Attachments:
Last edit: 1 year 5 months ago by Joffm.
The topic has been locked.
More
1 year 5 months ago #195849 by LeonaK
Hallo Joffm,

danke für deine Antwort und die alternative Lösung mit den Dropdown bei einer Matrix-Zahlen.
Bzgl. der Auswahl bei den einzelnen Dropdowns (Jahre/Monate) habe ich noch eine Frage:
Kann man den Maximalwert auch für jeden Dropdown einzeln einstellen? Also dass man bei Jahre z.B zwischen 1 und 20 wählen kann und bei Monate 1-12?
Habe bisher über Einstellungen - Anzeige den Maximalwert auf 12 gesetzt, der erscheint dann aber natürlich für beide Dropdowns.

Viele Grüße und vielen Dank,
Leona
The topic has been locked.
More
1 year 5 months ago - 1 year 5 months ago #195888 by Joffm
Hallo,
hier benutzt Du nicht die Einstellungen, sondern ein kleines javascript-snippet.
Es ist auch ziemlich egal, ob Du eine Matrix(Zahlen) oder Matrix(Texte) nimmst.
<script type="text/javascript" charset="utf-8">
	$(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="">Bitte wählen Sie...</option>\
													<option value="0">0</option>\
													<option value="1">1</option>\
													<option value="2">2</option>\
													<option value="3">3</option>\
													<option value="4">4</option>\
													<option value="5">5</option>\
													<option value="6">6</option>\
													<option value="7">7</option>\
													<option value="8">8</option>\
													<option value="9">9</option>\
													<option value="10">10</option>\
													<option value="11">11</option>\
													<option value="12">12</option>\
													<option value="13">13</option>\
													<option value="14">14</option>\
													<option value="15">15</option>\
													<option value="16">16</option>\
													<option value="17">17</option>\
													<option value="18">18</option>\
													<option value="19">19</option>\
													<option value="20">20</option>\
												</select>'); 
		$('.answer-item.answer_cell_X002', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\
													<option value="">Bitte wählen Sie...</option>\
													<option value="0">0</option>\
													<option value="1">1</option>\
													<option value="2">2</option>\
													<option value="3">3</option>\
													<option value="4">4</option>\
													<option value="5">5</option>\
													<option value="6">6</option>\
													<option value="7">7</option>\
													<option value="8">8</option>\
													<option value="9">9</option>\
													<option value="10">10</option>\
													<option value="11">11</option>\
												</select>'); 
 
		// Listeners
		$('.inserted-select', thisQuestion).on('change', function(i) {
			if($(this).val() != '') {
				$(this).closest('.answer-item').find('input:text').val($.trim($('option:selected', this).text())).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());
			var selectval = $('select.inserted-select option', thisCell).filter(function () { return $(this).html() == inputText; }).val();
			$('select.inserted-select', thisCell).val(selectval);
		});
 
		// Clean-up styles
		$('select.inserted-select', thisQuestion).css({
			'max-width': '100%'
		});
		$('.with-select input:text', thisQuestion).css({
			'position': 'absolute',
			'left': '-9999em'
		});
	});
</script>
Die Jahre gehen also von 0 bis 20 (kannst Du ja erweitern, ich war zu faul dazu), und die Monate von 0 bis 11.

Wie Du siehst, ist hier die horizontale Skala mit "X001", "X002",... codiert; das ist bei dieser (zweidimensionalen) Matrix etwas übersichtlicher, damit man nicht später so etwas wie "Q1_SQ002_SQ003" hat, und man immer überlegen muss "Ist das jetzt 2.Spalte,3.Zeile, oder umgekehrt"

Wie ich schon schrieb, hierzu gibt es viele Beispiele und sample surveys hier im Forum.

Später werde ich aber noch etwas schicken.

Bis dann
Joffm

Also dass man bei Jahre z.B zwischen 1 und 20 wählen kann und bei Monate 1-12?

Das solltest Du Dir noch einmal überlegen.
Jemand könnte erst 6 Monate dort sein, also 0 Jahre, 6 Monate
Wenn jemand genau zwei Jahre dort ist, gibt er dann 2 Jahre, 0 Monate ein, oder 1 Jahr, 12 Monate?
Soll heißen, die "0" muss immer dabei sein (es sei denn, Du befragst nur Personen, die mindestens x Jahre dort sind), aber nicht die "12" bei den Monaten.


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 1 year 5 months ago by Joffm.
The topic has been locked.
More
1 year 5 months ago #195904 by Joffm
So, hier ist auch ein Beispiel.

Ich sagte, Matrix(Zahlen) oder Matrix(Texte) seien ziemlich egal.
Ist es nicht. Du möchtest ja für Deine Auswertung numerische werte haben; daher ist die Matrix(Zahlen) zu nehmen. Die andere drückt die Werte als Textvariablen heraus, was Du dann ja umkodieren müsstest.

Im Beispiel sind beide Möglichkeiten; dann kannst Du aktivieren, ein paar Daten eingeben, und dann siehst Du beim Export den Umterschied.

File Attachment:

File Name: limesurvey...2621.lss
File Size:25 KB


Viel Erfolg
Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Attachments:
The topic has been locked.
More
1 year 5 months ago #196013 by LeonaK
Hallo Joffm,

danke für deine Erklärungen und die Darstellungen bzw. angehängte Datei.
Es hat funktioniert :-)

Ganz lieben Dank für deine Mühe und viele Grüße,
Leona
The topic has been locked.

Start now!

Just create your account and start using Limesurvey today.

Register now