这是来自http://shiny.rstudio.com/gallery/widget-gallery.html的简单示例。初始化引导开关后,当我单击按钮时,输出不会改变。我错过了什么吗?
library(shiny)
ui <- shinyUI(fluidPage(
tags$head(tags$link(rel = "stylesheet", type = "text/css", href = "//cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.2/css/bootstrap3/bootstrap-switch.min.css")),
tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.2/js/bootstrap-switch.min.js',type='text/javascript')),
tags$head(tags$script("$(document).ready(function($) {
$('#check').bootstrapSwitch();
});",
type='text/javascript')),
checkboxInput("check", label = "", value = TRUE),
fluidRow(column(3, verbatimTextOutput("value")))
))
server <- shinyServer(function(input, output) {
output$value <- renderPrint({ input$check })
outputOptions(output, "value", suspendWhenHidden = FALSE)
})
shinyApp(ui, server)发布于 2015-11-30 07:41:49
您可以尝试使用javascript更改值。
服务器
shinyServer(function(input, output,session) {
})用户界面
library(shiny)
shinyUI(fluidPage(
tags$head(tags$link(rel = "stylesheet", type = "text/css", href = "//cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.2/css/bootstrap3/bootstrap-switch.min.css")),
tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.2/js/bootstrap-switch.min.js',type='text/javascript')),
tags$head(tags$script("$(document).ready(function($) {
$('#check').bootstrapSwitch();
$('#value').text($('#check').bootstrapSwitch('state'));
$('#check').on('switchChange.bootstrapSwitch', function () {
$('#value').text($('#check').bootstrapSwitch('state'));
});
});",
type='text/javascript')),
checkboxInput("check", label = "", value = F),
fluidRow(column(3, verbatimTextOutput("value")))
))要使用服务器端的开关,您需要Shiny.onInputChange
用户界面
library(shiny)
shinyUI(fluidPage(
tags$head(tags$link(rel = "stylesheet", type = "text/css", href = "//cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.2/css/bootstrap3/bootstrap-switch.min.css")),
tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.2/js/bootstrap-switch.min.js',type='text/javascript')),
tags$head(tags$script("$(document).ready(function() {
$('#check').bootstrapSwitch();
$('#check').on('switchChange.bootstrapSwitch', function () {
var sw=$('#check').bootstrapSwitch('state')
Shiny.onInputChange('check', sw)
});
});",
type='text/javascript')),
checkboxInput("check", label = "", value = F),
fluidRow(column(3, verbatimTextOutput("value")) )
))服务器
shinyServer(function(input, output,session) {
output$value <- renderPrint({ ifelse(input$check, rnorm(1), rnorm(1,10000)) })
})https://stackoverflow.com/questions/33990637
复制相似问题