Условный выбор панели и переключателя не работает - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь использовать условную панель на основе ввода для радиокнопки, как показано ниже

radioButtons("Type","Review Type:",c("Type1","Type2","Type3"),inline=T)

условные операторы панели приведены ниже,

conditionalPanel(condition = "input.Type == 'Type1'",wellPanel(
radioButtons("Question1", "do you know R shiny?"choices = c("Y","N","NA"),selected = "Y",inline=T)

conditionalPanel(condition = "input.Type == 'Type2'",wellPanel(
radioButtons("Question1", "do you know Python?"choices = c("Y","N","NA"),selected = "Y",inline=T)


conditionalPanel(condition = "input.Type == 'Type3'",wellPanel(
radioButtons("Question1", "do you know Java?"choices = c("Y","N","NA"),selected = "Y",inline=T)

, если выобратите внимание, что в условной панели идентификатор radioButton («Question1») одинаков для всех условных панелей, условие как таковое работает для меня, но я установил selected = "Y" для всех радиокнопок, которые по некоторым причинам не работают должным образом (это работает только на третьей условной панели)

1 Ответ

0 голосов
/ 04 июня 2018

Это ведет себя так, потому что все ваши radioButtons имеют одинаковые id, поэтому они рассматриваются как только один элемент пользовательского интерфейса.Дайте вашему radioButtons уникальное имя, и оно будет работать нормально:

ui <- fluidPage(
  radioButtons(inputId = "Type", 
               label = "Review Type:",
               choices = c("Type1", "Type2", "Type3"),
               inline = T),
  conditionalPanel(condition = "input.Type == 'Type1'",
                   wellPanel(
                     radioButtons(inputId = "Question1", 
                                  label = "do you know R shiny?", 
                                  choices = c("Y", "N", "NA"),
                                  selected = "Y",
                                  inline = T)
                   )
  ),  
  conditionalPanel(condition = "input.Type == 'Type2'",
                   wellPanel(
                     radioButtons(inputId = "Question1", 
                                  label = "do you know Python?", 
                                  choices = c("Y", "N", "NA"),
                                  selected = "Y",
                                  inline = T)
                   ) 
  ),
  conditionalPanel(condition = "input.Type == 'Type3'",
                   wellPanel(
                     radioButtons(inputId = "Question1", 
                                  label = "do you know Java?", 
                                  choices = c("Y", "N", "NA"),
                                  selected = "Y",
                                  inline = T)
                   )
  )
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...