Welcome to the LimeSurvey Community Forum

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

Slider mit Ankerpunkten?

  • Doeoffno_263221
  • Doeoffno_263221's Avatar Topic Author
  • Offline
  • Banned
  • Banned
More
3 years 3 months ago - 3 years 3 months ago #210224 by Doeoffno_263221
Slider mit Ankerpunkten? was created by Doeoffno_263221
Liebe Community, 

ich brauche eure Hilfe bei der Umsetzung einer Paper-Pencil-Skala (siehe Anhang). Folgende Eigenschaft hat die Paper-Pencil-Skala: Die Extrempunkte markieren die Zahlenwerte 0 und 220, wobei der Punktwert auch hier maßstabsgetreu mit Hilfe einer Klarsichtfolie abgelesen werden kann, auf der die Achse mit Punktwerten abgedruckt ist. An bestimmten Punkten zu unregelmäßigen metrischen Abständen sind sieben Ankerpunkte von kaum bis außerordentlich anstrengend angegeben.

Leider bin ich mir sehr unsicher, ob solch eine Skala überhaupt in Limesurvey umgesetzt werden kann. Es würde über einen Schieberegler möglich sein, jedoch sellt sich mir die Frage, inwiefern es möglich ist die Skala von 0 bis 220 regelmässig bzw unreglemässig (Ankerpunkte) zu beschriften. Wahrscheinlich muss hierzu in Limesurvey ordentlich gecodet werden, falls es überhaupt möglich ist. Ich würde mich daher über eventuelle Lösungsmöglichkeiten freuen, da ich echt ratlos bin. 

Freue mich über eure Ratschläge. 
Vielen Dank im Voraus

Cheers,Philipp 
Last edit: 3 years 3 months ago by Doeoffno_263221.
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 3 months ago #210230 by Joffm
Replied by Joffm on topic Slider mit Ankerpunkten?
Hallo, Philipp,
dies wäre eine erste Idee.

Viele Grüße
Joffm
 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Doeoffno_263221
  • Doeoffno_263221's Avatar Topic Author
  • Offline
  • Banned
  • Banned
More
3 years 3 months ago #210232 by Doeoffno_263221
Replied by Doeoffno_263221 on topic Slider mit Ankerpunkten?
Vielen lieben Dank, dass wäre eine gute Möglichkeit. :) Würdest du mir verraten wie das umzusetzen ist? Ich nehme an dazu muss man einen Code schreiben, richtig?
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 3 months ago #210244 by Joffm
Replied by Joffm on topic Slider mit Ankerpunkten?
Hallo, Philipp,
ja, dazu muss man ein bisschen javascript wie auch ein bisschen css in den Fragetext (im Quellcode-Modus) einfügen.
Du hast noch nicht verraten, mit welcher Version Du arbeitest.
Da dringend empfohlen wird, Version 3.x.LTS zu nutzen, hier also die Lösung dafür.
Zunächst das javascript.
Code:
<script type="text/javascript" charset="utf-8">
    $(document).on('ready pjax:scriptcomplete',function(){
 
        var ticksArray = [
            [20, 'Kaum'],
            [40, 'Etwas'],
            [60, '60'],
            [75, 'Einiger-<br>maßen'],
            [100, '100'],
            [118, 'Ziemlich'],
            [140, '140'],
            [155, 'Stark'],
            [186, 'Sehr<br>stark'],
            [205, 'Außer-<br>ordentlich'],
        ];
 
        insertSliderTicks('{QID}', ticksArray);
    });
 
    /* Insert Slider Tick Marks */
    function insertSliderTicks(qID, ticksArray) {
        var thisQuestion = $('#question'+qID);
 
        $(thisQuestion).addClass('with-inserted-ticks');
 
        $('input:text', thisQuestion).on('slideEnabled',function(){
            var thisSlider = $(this);
            var thisItem = $(thisSlider).closest('li');
            var thisMin = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemin');
            var thisMax = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemax');
            var thisRange = thisMax - thisMin;
            $.each(ticksArray, function(i, val) {
                var tickRelativePosition = val[0] - thisMin;
                var tickPercent = (tickRelativePosition/thisRange)*100;
 
                // Insert tick marks
                $('.slider-handle:eq(0)', thisItem).before('<div class="inserted-tick left-'+tickPercent+'" style="left: '+tickPercent+'%">\
                                                    <div class="tick-text">'+val[1]+'</div>\
                                                </div>');
            });    
        });
    }
</script>

Du siehst, was in der Variablen "ticksArray" steht; dies kannst Du anpassen.

Und nun das css:
Code:
<style type="text/css">/* Slider Tick Marks */
 
    @media only screen and (min-width: 768px) {
 
        .with-inserted-ticks .slider-container {
            padding-right: 50px;
            padding-left: 50px;
        }
    }
 
    .with-inserted-ticks .slider-item {
        margin-bottom: 50px;
    }
 
    .with-inserted-ticks .slider-container .help-block {
        margin: 25px 0 0 -20px;
        width: 40px;
        text-align: center;
    }
 
    .with-inserted-ticks .slider-container .help-block.pull-right {
        margin: 25px -20px 0 0;
    }
 
    .inserted-tick {
        position: absolute;
        top: 20%;
        height: 30px;
        width: 4px;
        margin-top: -5px;
        margin-left: -1px;
        background-color: #DDDDDD;
        background-color: green;
    }
 
    .inserted-tick.left-0,
    .inserted-tick.left-100 {
        background-color: transparent;
        background-color: green;
    }
 
    .inserted-tick .tick-text {
        position: absolute;
        top: 150%;
        width: 100px;
        margin-left: -50px;
        color: #000000;
        text-align: center;
    }
 
    @media only screen and (max-width: 768px) {
 
        .inserted-tick.left-0 .tick-text {
            margin-left: 0px;
            text-align: left;
        }
 
        .inserted-tick.left-100 .tick-text {
            margin-left: -100px;
            text-align: right;
        }
    }
</style>

Auch hier kannst Du natürlich nach Deinen Wünschen anpassen.

Jedenfalls würdest Du hiermit das angehängte Ergebnis erreichen

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Doeoffno_263221
  • Doeoffno_263221's Avatar Topic Author
  • Offline
  • Banned
  • Banned
More
3 years 3 months ago #210376 by Doeoffno_263221
Replied by Doeoffno_263221 on topic Slider mit Ankerpunkten?
Entschuldige, dass ich mich jetzt erst zurückmelde. Der Code klappt mit meiner Limesurvey Version, da ich nur einen Studentenzugang habe, kann ich die Version leider nicht einsehen.

Ist es prinzipiell auch möglich einen vertikalen Slider zu nutzen anstatt einen horizontalen? Falls ja, wie müsste der Code dann sein. Ich würde mich super, super über eine Antwort freuen. Ich habe nämlich noch eine weitere Skala, die ich jedoch nur mit einem vertikalen Slider nutzbar ist, da die Ankerpunkte kurze Sätze sind.

Vielen, vielen Dank!
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 3 months ago - 3 years 3 months ago #210385 by Joffm
Replied by Joffm on topic Slider mit Ankerpunkten?
Hallo,
1. Da Deine paper-pencil-Vorlage ja eine vertikale Skala zeigte, hätte ich auch eine vertikale Lösung gezeigt, sofern eine vorhanden wäre.
2. paper-pencil und online sind zwei unterschiedliche Kanäle. Du kannst es meistens nicht 1:1 übertragen.

Joffm

Abgesehen davon scheint der vertikale Slider per se nicht 100% zu funktionieren.
 
Du siehst, dass der linke und rechte Endpunkt trotzdem horizontal dargestellt werden.

 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 3 years 3 months ago by Joffm.
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose