Welcome to the LimeSurvey Community Forum

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

Dualmatrix: 2.Skala als nicht verpflichtend festlegen

  • Helen20
  • Helen20's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #207776 by Helen20
Hallo zusammen,

Ich nutze die Version 2.6.4-lts Build 170202.

Ich finde leider keine Informationen zu diesem Thema. Ich habe für eine Frage eine Dualmatrix erstellt und möchte gerne, dass die zweite Skala nicht verpflichtende ist diese auszufüllen oder wenn in der 1. Skala nein angeklickt wird, dass in der 2. Skala automatisch der Wert "keine Angabe" gezogen wird?

Habt ihr da Lösungen oder eine Alternatividee? Freue mich über eure Antworten und schon mal vorab vielen Dank.

Lieber Gruß
Helen
Attachments:
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #207778 by Joffm
Hallo, Helen,

Ich finde leider keine Informationen zu diesem Thema

dann hast Du nicht richtig gesucht. ;)

Gibt es schon:
forums.limesurvey.org/forum/can-i-do-thi...ale-2-in-dual-matrix

Aber jetzt für Dich:
Zunächst das Ergebnis:
Ohne das javascript snippet sieht es so aus:


Mit javascript so:


Du siehst, dass
  • die Radiobuttons der zweiten Skala nicht mehr angeklickt werden können (ich weiß, sieht man hier nicht so gut)
  • durch das javascript die "Keine Angabe" Spalte verschwindet.
Dieser "Keine Angabe" Code wird im Hintergrund gesetzt, wenn in der ersten Skala "Nein" gewählt wurde.

Wenn Du aber auch für eine "Ja"-Antwort die Option "Keine Angabe" in der zweiten Skala haben möchtest, sollte es dann eben so etwas geben
Ja
Zum Teil
Nein
Keine Angabe
Nicht zutreffend

Dann würde eben "Nicht zutreffend" versteckt und bei "Nein" angeklickt.

Oder Du löschst den Teil im javascript snippet, welches die Spalte versteckt; also alles von
// Hide the "N/A" column
bis
// Listener on the radios

Hier also das javascript snippet, welches Du im Quellcode-Modus in den Fragetext einfügst.
Code:
<script type="text/javascript" charset="utf-8">  
  $(document).ready(function() {
 
    // Identify this question
    var thisQuestion = $('#question{QID}');
 
    // Identify the "exclusive" column(s)
    // Multiple columns separated by commas
    var exclusiveCols = [2];
 
    // Assign classes to various elements
    $('.answers-list', thisQuestion).each(function(i){
      var column = 1;
      var scale = 1;
      $('td', this).each(function(i){
        if($(this).hasClass('radio-item')) {
          $(this).addClass('scale-'+scale+' column-'+column+'');
          column++;
        }
        else {
          column = 1;
          scale = 2;
        }
      });
      $('td:last', this).addClass('na-item');
    });
    $(exclusiveCols).each(function(i) {
      $('td.scale-1.column-'+this, thisQuestion).addClass('exclusive-item');
    });
 
    // Hide the "N/A" column
    $('td.na-item', thisQuestion).hide();
    $('.questions-list .dsheader:last', thisQuestion).attr('colspan', Number($('.questions-list thead tr.groups .dsheader:last', thisQuestion).attr('colspan'))-1);
    $('.questions-list thead tr:not(.groups) th:last', thisQuestion).hide();
    var colsWidth = $('col.odd:eq(0)', thisQuestion).attr('width').replace(/%/, '')*$('col.odd, col.even', thisQuestion).length;
    var newColWidth = colsWidth/($('col.odd, col.even', thisQuestion).length-1);
    $('col.odd, col.even', thisQuestion).attr('width', newColWidth+'%');
 
    // Listener on the radios
    $('td.scale-1 input.radio', thisQuestion).click(function(e) {
      var thisCell = $(this).closest('td');
      var thisRow = thisCell.closest('tr');
      if(thisCell.hasClass('exclusive-item')) {
        $('.na-item input.radio', thisRow).trigger('click');
        $('td.scale-2:not(.na-item) input.radio', thisRow).prop('disabled', true);
      }
      else {
        $('.na-item input.radio', thisRow).prop('checked', false);
        $('td.scale-2:not(.na-item) input.radio', thisRow).prop('disabled', false);
      }
    });
 
    // Initial states
    $('td.exclusive-item input.radio:checked', thisQuestion).each(function(i) {
      var thisRow = $(this).closest('tr');
      $('.na-item input.radio', thisRow).trigger('click');
      $('td.scale-2:not(.na-item) input.radio', thisRow).prop('disabled', true);
    });
 
    });  
</script>

In var exclusiveCols = [2]; steht das Entscheidende, nämlich dass die zweite Spalte (das "Nein") als exklusiv betrachtet wird.

Und hier die Studie als lss Export.

File Attachment:

File Name: limesurvey...6554.lss
File Size:19 KB


Viel Erfolg
Joffm


Und jetzt hoffe ich, dass Du überhaupt die Berechtigung hast, javascript einzufügen.
Bei dieser Steinzeit-Version (sie wird bald 4 Jahre alt) denke ich sofort an irgendeine Uni-Installation.

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #207829 by holch
Und ich würde das ja persönlich sowieso in 2 getrennten Fragen abfragen. Dieses "Falls als Ziel gesetzt..." sieht doch sehr nach "Papierfragebogen aus".

Mit Limesurvey kannst du doch per Teilfragenrelevanz in der 2. Frage nur die Teilfragen anzeigen, bei denen in der ersten Frage geantwortet wurde, dass sie als Ziel gesetzt wurden.

Dann werden in der zweiten Fragen nur die Teilfragen abgefragt, die auch relevant sind.

Es ist nicht immer eine gute Idee, einen Papierfragebogen 1:1 online umzusetzen. Und das Argument "das sind dann mehr Fragen" zieht nicht. In Wirklichkeit sind das sowieso zwei Fragen, die halt einfach optisch zusammen gelegt wurden. Beim Papierfragebogen macht das auch irgendwie Sinn, beim Onlinefragebogen ist es nicht nur unnötig, sondern meiner Meinung nach auch schlechter. Da man ja in Limesurvey die nicht notwendigen Teilfragen ausblenden kann. Dann kann man nämlich die, die angezeigt werden tortzdem als Pflichtfrage setzen.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #207833 by Joffm
Ach @holch,
da ich immer versuche ziemlich höflich zu sein (und es auch manchmal schaffe), habe ich mir hier verkniffen zu schreiben
"Und wieder einmal wird die Dual Matrix vergewaltigt".

Schönes Wochenende

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Helen20
  • Helen20's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #207834 by Helen20
Hallo Joffm,

vielen lieben Dank für die ausführliche Antwort mit dem javascript snippet hat es super geklappt. :-)
Ja die Version ist etwas älter aber benötige die eben auch nur für ein Uniprojekt ;).

Lieber Gruß
Helen
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose