我有一个包含checkboxGroupInput的R Shiny应用程序,我正在尝试使用updateCheckboxGroupInput函数创建一个"全选"按钮.你可以看到下面的完整代码,但基本上我定义了这样的cb组:
checkboxGroupInput("campaigns","Choose campaign(s):",campaigns_list)
Run Code Online (Sandbox Code Playgroud)
然后,在按钮单击时,调用该函数:
updateCheckboxGroupInput(session,"campaigns","Choose campaign(s):",choices=campaigns_list,selected=campaigns_list)
Run Code Online (Sandbox Code Playgroud)
我有一个指示函数运行,但它的作用实际上是取消选中复选框.顺便说一句,当我把选择它放在定义cbGroupInput时它确实有效,但不是在函数上.
谢谢!
这是我的服务器.R:
library(shiny)
source('usefulFunctions.R')
shinyServer(function(input, output, session) {
output$cascading <- renderUI({
provider_id <- input$provider
if (provider_id == "") return(NULL)
campaigns_list <<- t(getCampaigns(provider_id))
tagList(
checkboxGroupInput("campaigns","Choose campaign(s):",
choices = campaigns_list, selected = campaigns_list),
actionLink("selectall","Select All")
)
})
observe({
if(is.null(input$selectall)) return(NULL)
if (input$selectall > 0)
{
print(campaigns_list)
updateCheckboxGroupInput(session,"campaigns","Choose campaign(s):",choices=campaigns_list,selected=campaigns_list)
}
})
})
Run Code Online (Sandbox Code Playgroud)
Por*_*hop 13
我还通过检查按钮或链接是否可以被2整除来添加选择和取消选择选项
#rm(list = ls())
library(shiny)
campaigns_list <- letters[1:10]
ui =fluidPage(
checkboxGroupInput("campaigns","Choose campaign(s):",campaigns_list),
actionLink("selectall","Select All")
)
server = function(input, output, session) {
observe({
if(input$selectall == 0) return(NULL)
else if (input$selectall%%2 == 0)
{
updateCheckboxGroupInput(session,"campaigns","Choose campaign(s):",choices=campaigns_list)
}
else
{
updateCheckboxGroupInput(session,"campaigns","Choose campaign(s):",choices=campaigns_list,selected=campaigns_list)
}
})
}
runApp(list(ui = ui, server = server))
Run Code Online (Sandbox Code Playgroud)