将滑块输入值设置为闪亮字符
Set sliderInput values as characters in shiny
我的闪亮应用程序有一个sliderInput
,但想将值替换为字符标签。我该如何实现它?感谢您的任何建议。
这是我的示例代码:
library(shiny)
values <- as.factor(c('Label 1', 'Label 3', 'Label 3'))
ui <- shinyUI(bootstrapPage(
headerPanel("test"),
sliderInput("foo", "Animation duration",
min = 1,
max = length(values),
value = values)
))
server <- shinyServer(function(input, output, session) {
})
shinyApp(ui = ui, server = server)
这可以在 shiny 中使用 sliderTextInput 函数轻松完成。无需添加所有这些复杂的js函数。只需几行代码即可解决问题。安装包含滑块文本输入函数的 shinywidgets 包。执行以下操作:
sliderTextInput("foo","Animation Duration" ,
choices = c("Label 1", "Label 3", "Label 3"),
selected = c("Label 1", "Label 3", "Label 3"), #incase you want all values by default
animate = FALSE, grid = FALSE,
hide_min_max = FALSE, from_fixed = FALSE,
to_fixed = FALSE, from_min = NULL, from_max = NULL, to_min = NULL,
to_max = NULL, force_edges = FALSE, width = NULL, pre = NULL,
post = NULL, dragRange = TRUE)
感谢@daattli为我指出正确的方向,并让我知道如何使用js
来更改闪亮的元素。
我已经实现了一个解决方案来更改sliderInput
标签和一个selectInput
来切换不同的值(和长度)。我认为这个功能应该实现到使用 ionRangeSlider
的 shiny 中。
如果您认为有更好的实现方法,请改进我的代码,因为这是我的第一个js
脚本。
library(shiny)
values <- list(A = c('A1', 'A2', 'A3'),
B = c('B1', 'B2', 'B3', 'B4'))
ui <- shinyUI(bootstrapPage(
selectInput('selection', 'selection', c('A', 'B'), 'A'),
uiOutput('selectUI'),
sliderInput(inputId = "target", label = "Target",
min = 0, max = length(values$A) - 1,
step = 1,
value = length(values$A) - 1),
verbatimTextOutput('summary')
))
server <- shinyServer(function(input, output, session) {
output$summary <- renderPrint({
print(input$target)
print(values[[input$selection]][input$target + 1])
})
output$selectUI <- renderUI({
sel_values <- paste(paste0('"', values[[input$selection]], '"'), collapse = ',')
print(sel_values)
list(
(HTML(
sprintf('
<script type="text/javascript">
$(document).ready(function() {
var vals = [%s];
$(''#target'').data(''ionRangeSlider'').update(
{values:vals,
min: 0,
max: %s,
from:%s})
})
</script>
', sel_values,
length(values[[input$selection]]) - 1,
length(values[[input$selection]]) - 1)))
)}
)}
)
shinyApp(ui = ui, server = server)
相关文章:
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- Rails 4 - 设置文本区域的字符数限制
- 如何使用javascript获取&使用字符偏移量设置插入符号位置
- 使用jquery为html元素文本的每个字符设置动画
- 打破ng中的字符数组,重复并设置每个字符自己的输入标记
- 如何指定输入元素中允许的最大字符数 - 设置 maxlength 属性是否足够
- 如何在文本框点击事件中设置文本框中字符的第一个位置---Chrome问题
- Firebase REST API - 如何设置字符编码
- 在输入框中设置“最小”字符输入抛出 javascript
- 需要帮助使用 JavaScript 设置最小字符数
- 将滑块输入值设置为闪亮字符
- 如何设置文本框的格式和允许的字符
- 如何为同一输入框中的字符设置不同的字体粗细
- 如何在不拆分单词的情况下将字符限制设置为100
- 使用非法字符设置DIV ID名称
- 如何在javascript中使用UTF-8字符设置Safari浏览器标题
- 我们可以对通过CKeditor输入的字符设置一个限制吗?
- 如何基于前三个字符设置元素样式
- 检测元素的innerHTML的最后一个字符是否为"1",如果是,下划线并将最后一个字符设置为绿色,并
- 如何为控制字符设置按键陷阱