Bedingungen für Antworten

More
5 days 18 hours ago #215699 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:

Please Log in to join the conversation.

More
5 days 16 hours 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.
<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>
<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
Attachments:

Please Log in to join the conversation.

More
5 days 16 hours 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

Please Log in to join the conversation.

More
5 days 16 hours 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

Please Log in to join the conversation.

More
5 days 15 hours 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

Please Log in to join the conversation.

More
4 days 19 hours ago #215779 by paul.borsdorf
Kleine Ergänzung, falls Du noch nicht mit Validierungen gearbeitet hast: Ich habe gerade ein kurzes Tutorial mit einem Beispiel dazu erstellt:

 
The following user(s) said Thank You: Roemii

Please Log in to join the conversation.

More
4 days 14 hours ago - 4 days 14 hours 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: 4 days 14 hours ago by Roemii.

Please Log in to join the conversation.

More
4 days 14 hours 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 :)

Please Log in to join the conversation.

More
4 days 13 hours 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

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now