闪亮的Sliderinput:在Min / Max-Text-Labels旁边添加Middle-Text-Label(以获得双极比例)

时间:2018-08-07 15:31:20

标签: javascript r twitter-bootstrap shiny

我想使用Shiny Sliderinput建立一个双极性标度-即从“负”到“中性”再到“正”值。

为此,我不仅需要在音阶的上,下两端而且在中间的永久文本值。 how to change labels to text-values already has an answer的问题,所以问题应该是

  1. 如何让Sliderinput和IonRangeslider分别标记一个中间值(在irs-min和irs-max旁边)?
  2. 如何将其更改为文本?

鉴于@shosaco在上述答案中更改美化功能的方法,第二部分应该不难实现,因此可以归结为第一部分。在他的代码的基础上,第二部分已经可以通过类似的方式完成,但是也许有更好的解决方案:

R代码:

library(shiny)    
ui <- fluidPage(
  includeScript("slider.js"),
      sliderInput("YOUR_SLIDER_ID",
                  "Slider Value:", ticks = F,
                  min = -100, max = 100, value = 0)      
)

server <- function(input, output) {}    
shinyApp(ui, server)

Java脚本:“ slider.js”

//https://stackoverflow.com/questions/40415471/sliderinput-max-min-text-labels

$(document).ready(function() {
  /**
    Custom slider labels
  **/

    // Convert numbers of min to max to "negative", "neutral" and "positive" 
    function returnLabels(value) {

      if (value === -100){ // enter your lowest slider value here
        return "negative";
      }else if (value === 100){// enter your highest slider value here
        return "positive";
      }else if (value === 0){// enter your neutral slider value here
        return "neutral";
      } else 
      return value;
    }

    var someID = $("#YOUR_SLIDER_ID").ionRangeSlider({ // enter your shiny slider ID here
          prettify: returnLabels,
          force_edges: true,
          grid: false
        });
    });

0 个答案:

没有答案