Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Dual Matrix mit Drop-Down- sowie Textspalte

  • Timtams
  • Timtams's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 1 month ago - 3 years 1 month ago #212774 by Timtams
Hallo liebe Community,

ich bin gerade dabei eine Umfrage zu erstellen. Hierbei möchte ich gerne eine Matrix mit 3 Spalten erstellen.
Die erste Spalte zeigt Antworten von vorherigen Fragen an (das schaffe ich allein)
Spalte 2 soll ein Dropdown-Menü zur Bewertung der Texte in Spalte 1 zeigen, während man in der 3. Spalte einen freien Text eingeben kann.

Ist sowas möglich? Ich arbeite mit der Version 3.25.8+210118

Bisher schaffe ich nur, die Matrix immer gleich zu gestalten, also entweder haben die Spalten 2 und 3 beide Drop-Down Menüs oder freie Texteingaben. Die Aufteilung in Spalte 2 Drop-Down und Spalte 3 Freitext ist mir noch nicht gelungen.

Wäre super, wenn mir jemand weiterhelfen könnte.
Viele Grüße und herzlichen Dank im Voraus.
Timtams
Last edit: 3 years 1 month ago by Timtams.
The topic has been locked.
  • Timtams
  • Timtams's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 1 month ago #212777 by Timtams
Replied by Timtams on topic Dual Matrix mit Drop-Down- sowie Textspalte
Moment hier die richtige Angabe zur Version 3.25.8+210118
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 1 month ago #212791 by Joffm
Hallo,
kurze Rückmeldung.
Deine sogenannte erste Spalte ist ja fest und kann nicht geändert werden; ist das nicht eigentlich die Teilfrage?

Und wenn Du einen Text in der letzten Spalte möchtest, ist "Dual Matrix" natürlich der völlig falsche Fragetxp.
Dies ist einfach mit einer Matrix(Texte) und einem javascript, welches ein Dropdown einbaut, zu lösen

Dazu gibt es hier gefühlt mehrere Dutzend Posts. Schau einmal selbst.
Ich muss jetzt los.
Später mehr, nachdem Du uns Deine Umfrage als lss Export geschickt hast.

Joffm

Und nur zur Ansicht; Drop-down und Textfeld. Rest ist Feintuning.
 

 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Timtams
  • Timtams's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 1 month ago #212793 by Timtams
Replied by Timtams on topic Dual Matrix mit Drop-Down- sowie Textspalte
Hallo Joffm,

ja genau so habe ich mir das vorgestellt. Leider kenne ich mich mit Java Script nicht aus. Wo genau und was muss denn da eingebaut werden?

Ich suche mal weiter...

Viele Grüße
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 1 month ago - 3 years 1 month ago #212796 by Joffm
Hier findest Du alles.
[url] forums.limesurvey.org/forum/german-forum...n-kombinieren#207917 [/url]

Und da ich es gerade im englischen Teil geschrieben habe kann ich es auch noch schnell hierher kopieren.

Mit Fragetyp Matrix(Texte):
 

Matrix(Texte) mit
y-scala gecoded
Y001: Subquestion 1
Y002: Subquestion 2
...
x-scala gecoded
X001: Ja/Nein
X002: Kommentar

Dann kommen diese javascript und css snippets in den Fragetext (im Quellcode-Modus)

1. javascript um die Drop-Downs einzubauen
Code:
<script type="text/javascript" charset="utf-8">
  $(document).on('ready pjax:scriptcomplete',function(){
    var thisQuestion = $('#question{QID}');
    // Add a question class
    thisQuestion.addClass('custom-array');
 
    // Column-specific classes
    $('table.subquestion-list tr', thisQuestion).each(function(i) {
      $('th, td', this).each(function(i) {
        $(this).addClass('column-'+i);
      });
    });
 
 
    // Insert selects
    $('.answer-item.answer_cell_X001', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\
          <option value="">...</option>\
          <option value="1">Ja</option>\
          <option value="2">Nein</option>\
          <option value="3">Weiß nicht</option>\
          <option value="4">Sag ich nicht</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);
    });
 
    // Clean-up styles
    $('select.inserted-select', thisQuestion).css({
      'max-width': '100%'
    });
    $('.with-select input:text', thisQuestion).css({
      'position': 'absolute',
      'left': '-9999em'
    });
  });
</script>

2. Etwas css zur Änderung der Spaltenbreiten (falls gewünscht)
(im javascript wurde die Klasse "custom-array" bereits definiert)
Code:
<style type="text/css">.custom-array table.subquestion-list col {
    width: auto !important;
  }
 
  .custom-array table.subquestion-list thead .column-0 {  width: 25%; }
  .custom-array table.subquestion-list thead .column-1 {  width: 20%; }
  .custom-array table.subquestion-list thead .column-2 {  width: 55%; }
</style>

Klar, Du musst die Texte ändern. Aber das ist dann alles.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 3 years 1 month ago by Joffm.
The topic has been locked.
  • Timtams
  • Timtams's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 1 month ago #212822 by Timtams
Replied by Timtams on topic Dual Matrix mit Drop-Down- sowie Textspalte
Hallo Joffm,

okay super, vielen Dank!

Gruß Timtams
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose