Welcome to the LimeSurvey Community Forum

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

Matrix: Filter | Offene Nennung | Design

  • apfelsinenwald1
  • apfelsinenwald1's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
4 years 1 month ago - 4 years 1 month ago #194267 by apfelsinenwald1
Matrix: Filter | Offene Nennung | Design was created by apfelsinenwald1
Hallo zusammen,

ich möchte eine Frage einbauen, zu der ich verschiedene Programmierungsfragen habe:


1. Wie kann ich noch eine Offene Nennung hinzufügen, die auch direkt mit den entsprechenden Antwortoptionen bewertet werden kann? Ich habe dazu dieses hier gefunden: www.limesurvey.org/forum/can-i-do-this-w...ther-answer?start=30 Bin mir aber nicht sicher, wo ich die Javascript-Codes konkret eingeben kann?

2. Wir möchten ganz am Anfang der Umfrage eine Filterfrage stellen. D.h. dass, wenn dort Antwort A gewählt wird, bei der hier angehängten Umfrage bestimmte Antworten abgefragt werden sollen und andere nicht. Es gibt also insgesamt ca 20 Angebote (wie Offener Treff / Partys, etc), diese sollen aber abhängig von der allerersten Frage erscheinen oder nicht. Ist so etwas in LimeSurvey möglich?

3. Bzgl Design: Kann man Teile der Antwortoptionen farblich abheben oder etwas nach rechts verschieben? Sodass "Gefällt sehr gut / Geht so / Gefällt nicht" beieinander stehen und "Haben wir nicht / Haben wir, nutze ich aber nicht" etwas weiter getrennt davon?


Ich danke euch vielmals für jeden kleinen Tipp im Voraus :)
Last edit: 4 years 1 month ago by apfelsinenwald1.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 1 month ago #194276 by holch
Replied by holch on topic Matrix: Filter | Offene Nennung | Design
zu 2.: Ja, das ist möglich. Du kannst Folgefragen per "Relevance Equation" (auf Deutsch vermutlich "Relevanz-Gleichung" oder ähnliches) von Antworten auf vorhergehende Fragen abhängig machen.

So kannst du z.B. Frage Q2 nur einblenden, wenn in Frage Q1 die Antwortoption 5 gegeben wurde. Das würde dann in der Relevanz Gleichung der Frage Q2 so aussehen:
Code:
Q1==5

D.h. die Frage Q2 wird nur "relevant" (und damit gezeigt), wenn in Q1 der Antwortcode "5" ausgewählt wurde. Aber, wie diese Relevanz Gleichung aussehen muss, hängt natürlich immer von deiner Frage (Fragentyp) ab, auf die gefiltert werden soll. Für mehr Infos solltest du dir das Handbuch zum Expression Manager ansehen. Dort gibt es auch sehr viele Beispiele.

zu 3: Das geht sicher per CSS/Javascript, da kommt es aber immer auf das verwendete Template an. ABER: ich finde durch die Smilies oben ist das schon alles recht klar getrennt, finde ich.

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
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 1 month ago - 4 years 1 month ago #194279 by Joffm
Replied by Joffm on topic Matrix: Filter | Offene Nennung | Design

1. Wie kann ich noch eine Offene Nennung hinzufügen, die auch direkt mit den entsprechenden Antwortoptionen bewertet werden kann? Ich habe dazu dieses hier gefunden: www.limesurvey.org/forum/can-i-do-this-w...ther-answer?start=30 Bin mir aber nicht sicher, wo ich die Javascript-Codes konkret eingeben kann?

Naja, in dem Link ist doch ein Beispiel angefügt. Wie Du allerdings siehst, ist dies ein Beispiel, welcher fast 4 Jahre alt ist und für die Version 2.06.
Es gibt da auch neueres, z.B. hier
www.limesurvey.org/forum/design-issues/1...tfield-others#176479
ebenfalls mit sample.

2. Wir möchten ganz am Anfang der Umfrage eine Filterfrage stellen. D.h. dass, wenn dort Antwort A gewählt wird, bei der hier angehängten Umfrage bestimmte Antworten abgefragt werden sollen und andere nicht. Es gibt also insgesamt ca 20 Angebote (wie Offener Treff / Partys, etc), diese sollen aber abhängig von der allerersten Frage erscheinen oder nicht. Ist so etwas in LimeSurvey möglich?

Stichwort: Teilfragen-Relevanz

3. Bzgl Design: Kann man Teile der Antwortoptionen farblich abheben oder etwas nach rechts verschieben? Sodass "Gefällt sehr gut / Geht so / Gefällt nicht" beieinander stehen und "Haben wir nicht / Haben wir, nutze ich aber nicht" etwas weiter getrennt davon?

Du kannst die Spaltenbreite verändern; dann könntest Du z.B. die Spalte "Haben wir nicht" breiter machen, Text rechtsbündig, usw.
Suche einmal nach "NPS" user "Elissa", glaube ich.
Ich werde selbst einmal gucken.

Joffm

P.S. Ich habe geguckt:
www.limesurvey.org/forum/can-i-do-this-w...rscale-in-limesurvey

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 4 years 1 month ago by Joffm.
The topic has been locked.
  • apfelsinenwald1
  • apfelsinenwald1's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
4 years 1 month ago - 4 years 1 month ago #194302 by apfelsinenwald1
Replied by apfelsinenwald1 on topic Matrix: Filter | Offene Nennung | Design
Ich bin jetzt gerade an der Teilfragenrelevanz dran. Allerdings komme ich hier nicht so recht voran trotz des Handbuchs.

Ich habe bspw. in einer Teilfrage die Gleichung drin: F0==1 or F0==2 . Die Frage erscheint aber weder 1 noch bei 2 noch bei 3. Also scheint es irgendwie keine Auswirkungen zu haben.

Was wäre der korrekte Befehl, wenn die Teilfrage SQ001 aus F5 nur gezeigt werden soll, wenn F0 mit 1 oder 2 beantwortet wurde?


Danke!!
Last edit: 4 years 1 month ago by apfelsinenwald1.
The topic has been locked.
  • apfelsinenwald1
  • apfelsinenwald1's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
4 years 1 month ago #194305 by apfelsinenwald1
Replied by apfelsinenwald1 on topic Matrix: Filter | Offene Nennung | Design
Und danke auch für das Sample mit der Offenen Nennung in der Matrix. Ich habe innerhalb der Fragen alles so eingestellt wie du, glaube ich. Muss ich hierfür auch etwas innerhalb vom Designvorlagen-Editor ändern oder wo genau kann ich es einstellen, dass die offene Nennung zur Matrixfrage kommt?

Bislang schaut es bei mir so aus:
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 1 month ago #194306 by Joffm
Replied by Joffm on topic Matrix: Filter | Offene Nennung | Design
Hallo,
wenn Du schon so viele Fragen hast, die im Grunde die Basics angehen, dann solltest Du einmal Deine Versuche hier als lss-Export anhängen.
Wie sonst sollen wir Dir sagen, wo Du einen - wahrscheinlich - Tippfehler eingebaut hast?

Bis dann
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • apfelsinenwald1
  • apfelsinenwald1's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
4 years 1 month ago #194344 by apfelsinenwald1
Replied by apfelsinenwald1 on topic Matrix: Filter | Offene Nennung | Design
Hallo Joffm,

habe hier mal die relevanten Fragen in der lss Datei angehängt.

Letztlich geht es um die Filterfrage. Da haben bei mir die in der Teilfragen-Relevanz geschriebenen Punkte keine Auswirkung.

Und ich möchte das offene Nennungsfeld unten bei "other" in der 2.Frage drin haben.

Bin für jede Hilfe dankbar. Und ja, ich bin blutiger Anfänger ;)


Grüße

File Attachment:

File Name: limesurvey...test.lss
File Size:34 KB
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 1 month ago - 4 years 1 month ago #194372 by Joffm
Replied by Joffm on topic Matrix: Filter | Offene Nennung | Design
Hallo,
ich habe Deinen Prototype nur einmal schnell geöffnet.

1. In der Matrixfrage ist das javascript-snippet ja gar nicht enthalten.
Das ist aber sicher in der Beispielstudie, die ich verlinkt habe, drin.
Denn das ist schließlich die Hauptsache.

2. Das hast Du geschrieben:

Ich habe bspw. in einer Teilfrage die Gleichung drin: F0==1 or F0==2

Aber dies ist in Deiner Studie

F0==A1 or F0==A2


Also etwas anderes.
Und das kann auch nicht funktionieren; im ersten Fall vergleichst Du mit Zahlen, "A1" und "A2" sind aber keine Zahlen, sondern Texte; also müssen sie mit Anführungszeichen versehen werden.
F0=="A1" or F0=="A2".

Daher plädiere ich immer dafür , diese default-Codes "A1", "A2", ... durch numerische Codes zu ersetzen.
Erleichtert die Auswertung später ungemein.
Denn Zahlen werden numerisch verglichen, also 1<2<10<21,
Texte aber alphabetisch, also "1"<"10"<"2"<"21"

Das javascript mache ich Dir dann später einmal hinein.
Bin etwas knapp mit der Zeit im Moment.

Joffm

Eigentlich kannst Du das auch selbst machen.
Hier noch einmal das script. Im Quelltext-Modus in den Fragetext der Matrix-Frage:
Code:
<script type="text/javascript" charset="utf-8">  
 
  $(document).ready(function() {
 
    // Identify the questions
    var thisQuestion = $('#question'+{QID}+'');
    var nextQuestion1 = $(thisQuestion).nextAll('.text-short:eq(0)');
    var nextQuestion2 = $(thisQuestion).nextAll('.text-short:eq(1)');
    var nextQuestion3 = $(thisQuestion).nextAll('.text-short:eq(2)');
    var nextQuestions = $(nextQuestion1).add(nextQuestion2).add(nextQuestion3);
 
//    var nextQuestions = $(nextQuestion1);
      var nextLength = nextQuestions.length;
    var sqLength = ('tr.answers-list', thisQuestion).length;
 
    // Hide the short-text questions
    $(nextQuestions).hide();
 
    // Move the hidden text inputs into the array
    for (i = 0; i < nextLength; i++) {
      var workingIndex = (sqLength - 1) - (nextLength - i);
      var nextQ = nextQuestions[i];
      $('th.answertext:eq('+workingIndex+')', thisQuestion).append($('input[type="text"]', nextQ)).closest('tr').addClass('otherRow');
    }  
 
    // Some styling...
    $('input[type="text"]', thisQuestion).css({
      'width': '50%'
    });    
 
    // Handle the "Other" radios
    $('input[type="text"]', thisQuestion).on('keyup change',function(event){
      event.stopPropagation();
 
      var thisRow = $(this).closest('tr.answers-list');      
      if($.trim($(this).val()) == '') {
        $('input:radio[value!=""]', thisRow).prop('checked',false);
        $('input:radio[value=""]', thisRow).click();
      }
      else {
        $('input:radio[value=""]', thisRow).prop('checked',false);
      }
    });  
 
    // Handle the "Other" text inputs
    $('.otherRow input.radio', thisQuestion).on('click',function(event){
      var thisRow = $(this).closest('tr.answers-list');
      if($(this).attr('value') == '') {
        $('input[type="text"]', thisRow).val('');
      }
    });
 
    // Validate the "Other" text inputs on submit
    if($('#movenextbtn, #movesubmitbtn').attr('data-inserted-other') != 'true') { // We're only doing this once on this page
      $('#movenextbtn, #movesubmitbtn').attr('data-inserted-other', 'true').on('click.insertedOther', function (event) {
 
        var otherError = 0;
 
        $('.array-flexible-row .otherRow').each(function(i) {
 
          if(($('input:radio[value!=""]:checked', this).length > 0 &amp;&amp; $('input[type="text"]', this).val() == '') || ($('input:radio[value!=""]:checked', this).length == 0 &amp;&amp; $('input[type="text"]', this).val() != '')) {
            otherError = 1;
          }
        });
 
        if(otherError == 1) {
          alert('Please review your answer in the "Other" row(s).');
          return false;
        }
      });
    }
  });
</script>

Und wenn Du dann noch ein bisschen css einbaust, sind die Items auch linklsbündig; sieht m.E. besser aus.
Code:
<style>
    .ls-answers tbody .answertext {
    text-align: left;
}
</style>

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 4 years 1 month ago by Joffm.
The topic has been locked.
  • apfelsinenwald1
  • apfelsinenwald1's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
4 years 3 weeks ago - 4 years 3 weeks ago #195047 by apfelsinenwald1
Replied by apfelsinenwald1 on topic Matrix: Filter | Offene Nennung | Design
Danke Dir!!
Last edit: 4 years 3 weeks ago by apfelsinenwald1.
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose