Welcome to the LimeSurvey Community Forum

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

Einzelne Antwortoption nicht auswählbar machen

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 9 months ago #239507 by Joffm
Hallo, Lola,
wo ist denn die Umfrage mit der Liste(Optionsfelder)"?

Mit diesen Einstellungen der "Vorgabeantworten" ist doch alles in Ordnung, oder?




Schau es Dir noch einmal an
 

File Attachment:

File Name: limesurvey...7326.lss
File Size:20 KB


Was die Darstellung auf dem smartphone betrifft, habe ich eine neue Lösung.
Nicht mit der javascript-Zeile
Code:
$('#question{QID} tr[id^="javatbd"]:eq(0) .radio-item:eq(2) *').remove();
sondern mit css
Code:
<style>
  .answer_cell_3 label::before {
    display:none;
  }
</style>
 

Und zur Randomisierung der Spalten gibt es hier im Forum die Lösung (da ich keine Ahnung von javascript habe, lebe ich auch davon)
Code:
<script type="text/javascript" data-author="Tony Partner">    
    $(document).on('ready pjax:scriptcomplete',function(){
 
        var fixedAnswerCode = '4';  // Das ist der Code von "Keine davon"
        
        var thisQuestion = $('#question{QID}');
     
        // Index the array columns
        $('table.subquestion-list tr', thisQuestion).each(function(i) {
            $('> *', this).each(function(i) {
                $(this).attr('data-index', i);
            });
        });
        
        // Identify the fixed column
        var fixedIndex = $('.answer_cell_'+fixedAnswerCode+':eq(0)').attr('data-index');
        $('[data-index="'+fixedIndex+'"]', thisQuestion).addClass('fixed-column');
        
        // Identify "no answer"
        if($('.noanswer-item', thisQuestion).length > 0) {
            $('table.subquestion-list tr > :last-child', thisQuestion).addClass('col-no-answer');
        }
     
        // Create an array of the columns
        var columns = [];
        $('table.subquestion-list tr.answers-list:eq(0) td.answer-item', thisQuestion).each(function(i) {
            columns.push($(this).attr('data-index'));
        });    
     
        // A function to shuffle elements or contents of arrays
        (function($){
            $.fn.shuffle = function() {
                return this.each(function(){
                    var items = $(this).children();
                    return (items.length)
                        ? $(this).html($.shuffle(items))
                        : this;
                });
            }
     
            $.shuffle = function(arr) {
                for(
                    var j, x, i = arr.length; i;
                    j = parseInt(Math.random() * i),
                    x = arr[--i], arr[i] = arr[j], arr[j] = x
                );
                return arr;
     
            }
        })(jQuery);
     
        // Shuffle the columns array
        columns = $.shuffle(columns);
     
        // Reposition the row elements
        $('table.subquestion-list tr', thisQuestion).each(function(i) {
            var thisRow = $(this);
            $(columns).each(function(i, val) {
                thisRow.append($('[data-index="'+val+'"]', thisRow));
                thisRow.append($('.fixed-column', thisRow));
                thisRow.append($('.col-no-answer', thisRow));
            });
        });
    });
</script>

Ich habe verpennt, dass Du ja mit Version 3.x. arbeitets und habe dies alles in 5.x. angelegt.
Da man einen 5.x. Export nicht in 3.x. importieren kann, werde ich morgen etwas in 3.x. programmieren.

Und das mit der Matrix hast Du ganz richtig gemacht

Bis dann
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 9 months ago #239515 by Joffm
So, wie versprochen ein Beispiel in 3.x.
Sowohl als Liste(Optionsfelder) als auch als Matrix.

 

File Attachment:

File Name: limesurvey...4987.lss
File Size:30 KB


 
 


Wieder einmal zwei Anmerkungen.
1. Ich hatte mir nicht angesehen, wie Du die Teilfragenbreite der Matrix auf 0 gesetzt hast.
Deine javascript-Lösung geht zwar, ist aber eigentlich nicht dafür gedacht.
Was hältst Du davon, die Teilfragenbreite einfach in den Einstellungen der Frage auf 0 zu setzen? 
 

2. Du hast die css-Definitionen in jede Antwortoption hineingeschrieben. Lies noch einmal etwas über css-Klassen.
Es werden alle Elemente der angezeigten Seite angesprochen, die diese Klasse besitzen. 
Also: Klasse einmal definieren, danach nur noch den Elementen zuweisen.
Daher wird dies entweder in den Fragetext geschrieben - wie das javascript - oder, wenn die Definition nicht nur für einige wenige Fragen gelten soll, sondern umfrageweit, fügt man sie zur "custom.css" hinzu.

Joffm

 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: LolaLee

Please Log in to join the conversation.

  • LolaLee
  • LolaLee's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 9 months ago #239556 by LolaLee
Hallo Joffm, 

wenn man das Problem findet und merkt, wie dumm die Frage war...  Ich hatte tatsächlich nur vergessen die Vorgabe-Antworten zu bearbeiten – jetzt klappt es wie gewünscht! 

Die Matrix sieht jetzt auch top aus und arbeitet wie gewünscht.

Danke, Danke, Danke für Deine Hilfe und Geduld – Du hast meine Masterarbeit gerettet!! 


Liebe Grüße
Lola

P.S.: „Das Phantomköderchen der Oper“ - einen besseren Titel kann es für diese Umfrage definitiv nicht geben. Chapeau! 

Please Log in to join the conversation.

Moderators: holchJoffmtpartner

Lime-years ahead

Online-surveys for every purse and purpose