Welcome to the LimeSurvey Community Forum

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

Matrixfrage - Antwortmöglichkeit entfernen (wahrscheinlich doppelt)

  • Lennart2297
  • Lennart2297's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #207865 by Lennart2297
Mahlzeit,

ich habe meine Frage hier schon des Öfteren im Forum gelesen. Die Lösung wurde immer mit Java-Skript aufgezeigt.

Gibt es hierfür auch eine Lösung ohne Java (kein programmieren notwendig)?


In dem angefügten Beispiel möchte ich lediglich bei "Überschrift 1" die Möglichkeit zu antworten, entfernen.


Version: 3.23.3+200909
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #207868 by Joffm
Hallo, und einen Guten Tag!

Die Lösung wurde immer mit Java-Skript aufgezeigt.
Gibt es hierfür auch eine Lösung ohne Java (kein programmieren notwendig)?

Naja, wenn die Lösung per javascript hier präsentiert wird, brauchst Du ja nicht selbst zu programmieren.

Aber sei's drum.
Klar geht es anders. Teile die Frage auf in mehrere Matrizen. Dann kannst Du diese Überschrift ja in den Fragetext übernehmen.
Z.B. So:

Und wenn Du dann noch ein bisschen css einbaust, kann es auch noch so aussehen.

Mahlzeit,

????

Spiel einmal ein bisschen damit herum.
Viel Erfolg
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Lennart2297
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago - 3 years 5 months ago #207869 by Joffm
Und Du könntest natürlich auch die wiederholten Skalen-Überschriften weglassen



Wobei ich aber wirklich nicht weiß, warum Dir diese Lösung nicht gefällt.


Oder hast Du keine Rechte, javascript einzufügen?

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 3 years 5 months ago by Joffm.
The following user(s) said Thank You: Lennart2297
The topic has been locked.
  • Lennart2297
  • Lennart2297's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #207874 by Lennart2297
Danke für die vielen Antworten!!

Ist es möglich kurz und bündig zu erklären, wie folgender Aufbau (Anhang) umsetzbar ist?


Viele Grüße
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago - 3 years 5 months ago #207875 by Joffm
Klar.
Füge diese javascript- und css snippets in den Fragetext (im Quellcode-Modus) ein.
Code:
<script type="text/javascript" charset="utf-8">    
  $(document).ready(function() {  
 
    // Identify this question
    var thisQuestion = $('#question{QID}');
 
    // Define the sub-heading text strings
    var subHeading1 = 'Überschrift 1';
    var subHeading2 = 'Überschrift 2';
 
    var columnsLength = $('tr.answers-list:eq(0) > *', thisQuestion).length;
 
    // Insert the new rows
    $('tr.answers-list:eq(0)', thisQuestion).before('<tr class="sub-header-row"><th colspan="'+columnsLength+'">'+subHeading1+'</th></tr>');
    $('tr.answers-list:eq(2)', thisQuestion).before('<tr class="sub-header-row"><th colspan="'+columnsLength+'">'+subHeading2+'</th></tr>');  
 
    // Fix up the row classes
    var rowClass = 1;
    $('table.subquestions-list tbody tr', thisQuestion).each(function(i) {
      if($(this).hasClass('sub-header-row')) {
        rowClass = 1
      }
      else {
        rowClass++;
        $(this).removeClass('array1 array2')
        if(rowClass % 2 == 0) {
          $(this).addClass('array2');
        }
        else {
          $(this).addClass('array1');
        }
      }
    });
  });
</script>

Code:
<style type="text/css">.sub-header-row { margin-bottom: 20px; } 
  .sub-header-row th { 
    background-color: #EEE; 
    color: #000 !important; 
    text-align: left;
    font-size: 12pt;
    font-weight: bold;
  }
</style>

Du siehst, dass hier die Texte der Überschriften definiert sind:
// Define the sub-heading text strings
var subHeading1 = 'Überschrift 1';
var subHeading2 = 'Überschrift 2';


und hier die Zeilen, vor denen die jeweilige Überschrift erscheinen soll. (Dabei fängt man bei 0 an).
// Insert the new rows
$('tr.answers-list:
eq(0)', thisQuestion).before('<tr class="sub-header-row"><th colspan="'+columnsLength+'">'+subHeading1+'</th></tr>');
$('tr.answers-list:
eq(2)', thisQuestion).before('<tr class="sub-header-row"><th colspan="'+columnsLength+'">'+subHeading2+'</th></tr>');


Das war's schon.

Joffm

P.S.
Noch etwas zum praktischen Teil:
manual.limesurvey.org/Workarounds:_Manip...tc..29_in_LimeSurvey

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 3 years 5 months ago by Joffm.
The following user(s) said Thank You: Lennart2297
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago - 3 years 5 months ago #207880 by Joffm
Übrigens kannst Du natürlich das Aussehen dieser Überschriften in dem css-Teil nach Deinem Gusto gestalten.
Im Beispiel wird ja die Hintergrundfarbe, die Textfarbe, die Schriftgröße und das Gewicht (hier "fett") gesetzt.
Das wirst Du sicher gemäß Deinem Theme anpassen wollen.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 3 years 5 months ago by Joffm.
The following user(s) said Thank You: Lennart2297
The topic has been locked.
  • Lennart2297
  • Lennart2297's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #207881 by Lennart2297
Hat sehr gut funktioniert in meiner Dual Matrix.

Verwende ich die gleichen Inhalte bei einer Matrix (Zahlen) , so geschieht nichts.

Ist der Code jetzt ein Anderer oder ist es der Gleiche und ich mache etwas falsch?


Viele Grüße
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #207882 by Joffm
Dann scheinst Du etwas falsch zu machen.
Dazu solltest Du uns zeigen, was Du gemacht hast, sprich lss export.
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Lennart2297
The topic has been locked.
  • Lennart2297
  • Lennart2297's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #207883 by Lennart2297
Ich benötige (mein Ziel ist) das gleiche Design von F3 auch in F4.
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #207884 by Joffm
Sorry, mein Fehler.
Ich hatte nicht bedacht, dass die x-Achse in einer normalen Matrix (auf Dual Matrix) ja Antwortoptionen sind, in einer Matrix(Zahlen) aber Teilfragen.

Daher war nur "answers-list" in "subquestion-list" zu ändern.
Code:
<script type="text/javascript" charset="utf-8">
  $(document).ready(function() {
 
    // Identify this question
    var thisQuestion = $('#question{QID}');
 
    // Define the sub-heading text strings
    // Define the sub-heading text strings
    var subHeading1 = 'Online-Marketing';
    var subHeading2 = 'Online-Shop/E-Commerce';
    var subHeading3 = 'Social Media';
    var subHeading4 = 'Digitales Arbeiten';
 
    var columnsLength = $('tr.subquestion-list:eq(0) > *', thisQuestion).length;
 
    // Insert the new rows
    $('tr.subquestion-list:eq(0)', thisQuestion).before('<tr class="sub-header-row"><th colspan="'+columnsLength+'">'+subHeading1+'</th></tr>');
    $('tr.subquestion-list:eq(4)', thisQuestion).before('<tr class="sub-header-row"><th colspan="'+columnsLength+'">'+subHeading2+'</th></tr>');
    $('tr.subquestion-list:eq(6)', thisQuestion).before('<tr class="sub-header-row"><th colspan="'+columnsLength+'">'+subHeading2+'</th></tr>');
    $('tr.subquestion-list:eq(11)', thisQuestion).before('<tr class="sub-header-row"><th colspan="'+columnsLength+'">'+subHeading2+'</th></tr>');
 
    // Fix up the row classes
    var rowClass = 1;
    $('table.subquestion-list tbody tr', thisQuestion).each(function(i) {
      if($(this).hasClass('sub-header-row')) {
        rowClass = 1
      }
      else {
        rowClass++;
        $(this).removeClass('array1 array2')
        if(rowClass % 2 == 0) {
          $(this).addClass('array2');
        }
        else {
          $(this).addClass('array1');
        }
      }
    });
  });
</script>
Code:
<style type="text/css">.sub-header-row { margin-bottom: 20px; }
  .sub-header-row th {
    background-color: #EEE;
    color: #000 !important;
    text-align: left;
    font-size: 12pt;
    font-weight: bold;
  }
</style>



Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Lennart2297
The topic has been locked.
  • Lennart2297
  • Lennart2297's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #207886 by Lennart2297
Vielen Dank für deine beiden ausführlichen Antworten!

Jedes Mal 100% wie ich es mir vorgestellt habe.

Ganz großes Lob meinerseits.
The topic has been locked.
  • Lennart2297
  • Lennart2297's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #208180 by Lennart2297
Guten Tag,

bezüglich meiner Umfrage habe ich zwei weitere Fragen:

1. (Datei im Anhang 03) Ich möchte, dass sich die Antwort-Buttons mehr voneinander abheben. Der ausgewählte Button hebt sich zu wenig von den anderen Buttons ab. Welche Möglichkeiten habe ich, um einen größeren Unterschied zu erlangen? (z.B. helleres grün und dunkleres grün)


2. (Datei im Anhang 04) Hier wäre es fürs Auge besser, wenn die Zeile mit der Überschrift bündig zur Tabelle wäre.
Auch hier wieder die Frage, wie kann ich das umsetzen?


Vielen Dank

und Viele Grüße
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose