Welcome to the LimeSurvey Community Forum

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

Bedingungen für Antworten

  • Roemii
  • Roemii's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago #215699 by Roemii
Bedingungen für Antworten was created by Roemii
Hallo ihr Lieben,

bei meiner Umfrage habe ich folgendes Problem.
Ich habe eine Frage und 4 Antwortmöglichkeiten. Dort soll einmal das positivste und negativste Wort ausgewählt werden.
Beispiel: Ich habe Wort1, Wort2, Wort3, Wort4.
Wort2 ist am Positivsten und Wort4 am Negativsten. Das habe ich soweit umsetzen können (s. Anhang). Der einzige Fehler: Ich kann ein Wort gleichzeitig als positivstes und negativstes auswählen.
Gibt es bei LimeSurvey die Möglichkeit Bedingungen bei MultipleChoice Antworten einzustellen?

Danke im Voraus und Liebe Grüße


 
Attachments:
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 11 months ago #215706 by Joffm
Replied by Joffm on topic Bedingungen für Antworten
Hallo,
was Du machen willst, ist ja so etwas wie MaxDiff.
Leider hast Du uns nicht gesagt, wo LimeSurvey gehostet ist.
Ist es eine Uni-Installation? Bei dieser wirst Du wohl in Deinen Rechten beschränkt sein.

Falls Du berechtigt bist, javascript einzubauen, dann haben wir natürlich dieses.
Dies ist eine Frage vom Typ "Matrix nach Spalte".
 
Wie Du siehst, wird hier automatisch die gleichartige Nennung der anderen Kategorie gesperrt.
Du fügst dieses javascript und das css snippet in den Quellcode der Frage ein.
Code:
<script type="text/javascript" charset="utf-8">       
function maxDiff(qID, randomize) {
 
    // Identify some elements
    var thisQuestion = $('#question'+qID);
    var thisTable = $('table.subquestion-list:eq(0)', thisQuestion);
 
    // Assign a new question class
    $(thisQuestion).addClass('max-diff-array');
 
    // Move the columns
     $('thead tr:eq(0)', thisTable).prepend($('thead tr:eq(0) th:eq(1)', thisTable));
    $('tr.answers-list', thisTable).each(function(i){
    $('td.answer-item:eq(0)', this).prependTo(this);
    });
 
    // Random rows
    if(randomize) {
        var rowsArr = [];
        $('tr.answers-list', thisTable).each(function(i){
            $(this).attr('data-index', i);
            rowsArr.push(i);
        });
        shuffleArray(rowsArr);
        $(rowsArr).each(function(i){
            $('tbody', thisTable).append($('tr[data-index="'+this+'"]', thisTable));
        });
    }
 
    // Prevent clicking twice in the same row
    $('input[type="radio"]', thisQuestion).on('click', function () {
 
        $('input[type="radio"]', thisQuestion).prop('disabled', false);
        $('input[type="radio"]:checked', thisQuestion).each(function(i) {
            var thisRow = $(this).closest('tr.answers-list');
            $('input[type="radio"]', thisRow).not(this).prop('disabled', true);
        });
    });
 
    // Fix up the row classes
    var rowClass = 1;
    $('tr.answers-list', thisTable).each(function(i) {
        $(this).addClass('array'+(2-(i%2)));
    });
}
function shuffleArray(array) {
    for (var i = array.length - 1; i > 0; i--) {
        var j = Math.floor(Math.random() * (i + 1));
        var temp = array[i];
        array[i] = array[j];
        array[j] = temp;
    }
    return array;
}
  
  $(document).ready(function(){
        // Call the maxDiff() function
        // Set the second parameter to true for randomized rows
        maxDiff({QID}, true);
    });
</script>
Code:
<style type="text/css">.ls-answers tbody .answertext {
    text-align: center;
}
</style>

Wie Du ganz unten im javascript siehst, kannst Du durch den Paramter "true" bzw. "false" bestimmen, ob Deine Wörter randomisiert dargestellt werden oder nicht.


Das ist die sophisticated Lösung.

Die Standard-Lösung ist natürlich: Validiere die Frage, dass ein Wort nicht zweimal gewählt werden kann.
Wäre also so etwas in "Logik / Fragevalidierungsgleichung"
Q1_SQ001.NAOK!=Q1_SQ002.NAOK
Der Wert der beiden Teilfragen darf nicht gleich sein.

Viel Erfolg
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 11 months ago #215707 by Joffm
Replied by Joffm on topic Bedingungen für Antworten
Ach, noch eine Kleinigkeit.
Schau Dir den Fragetext dieser Frage noch einmal an.
"die am wenigsten schlimmste..." ???

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Roemii
  • Roemii's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago #215708 by Roemii
Replied by Roemii on topic Bedingungen für Antworten
Hey,

vielen lieben Dank für die schnelle Antwort.
Genau es handelt sich um eine Uni-Installation.

Liebe Grüße
RB
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 11 months ago #215711 by Joffm
Replied by Joffm on topic Bedingungen für Antworten
Naja, dann probier halt aus, ob die "javascript"-Lösung klappt.
Ansonsten, simple Validierung.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Roemii
The topic has been locked.
More
2 years 11 months ago #215779 by paul.borsdorf
Replied by paul.borsdorf on topic Bedingungen für Antworten
Kleine Ergänzung, falls Du noch nicht mit Validierungen gearbeitet hast: Ich habe gerade ein kurzes Tutorial mit einem Beispiel dazu erstellt: www.youtube.com/watch?v=ryZi1gU1A2A
 
The following user(s) said Thank You: Roemii
The topic has been locked.
  • Roemii
  • Roemii's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago - 2 years 11 months ago #215798 by Roemii
Replied by Roemii on topic Bedingungen für Antworten
Vielen Dank für das Tutorial und die hilfreichen Tipps.
Last edit: 2 years 11 months ago by Roemii.
The topic has been locked.
  • Roemii
  • Roemii's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago #215799 by Roemii
Replied by Roemii on topic Bedingungen für Antworten
Genau, es geht in meiner Arbeit um Hate Speech und daher habe ich es mit Beleidigungswörtern zu tun, nicht wundern :)
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 11 months ago #215813 by Joffm
Replied by Joffm on topic Bedingungen für Antworten

Genau, es geht in meiner Arbeit um Hate Speech und daher habe ich es mit Beleidigungswörtern zu tun, nicht wundern

Das ist ja klar, mir ging es nur um die Grammatik. Hinter dem Superlativ "am wenigsten" kommt nicht noch ein Superlativ.

Joffm
 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose