【问题标题】:Shiny: Input selection through conditional panels is overruled闪亮:通过条件面板的输入选择被否决
【发布时间】:2015-05-29 18:49:17
【问题描述】:

我想将输入字段从复选框切换为单选按钮,具体取决于选择的图形类型。在任何一种情况下,输入变量都是相等的,但有些图形允许多个输入,有些则不允许。 UI 按预期工作,但单选按钮不会影响发送到 server.R 的输入变量,而即使选择了需要单选按钮输入的图形类型,复选框也会保持有效。我错过了什么?

conditionalPanel(
          condition = "input.graphtype != 'Graph Type 2'",
          checkboxGroupInput("variable", "Select variables:",
                            c("variable1","variable2","variable3")
                            )
         ),
conditionalPanel(
           condition = "input.graphtype == 'Graph Type 2'",
           radioButtons("variable", "Select variable:",
                       c("variable1","variable2","variable3")
                       )
         )

【问题讨论】:

    标签: shiny


    【解决方案1】:

    您的问题是单选按钮和复选框都使用相同的 ID。他们都使用 id variable。你不能这样。在 HTML 中,每个元素都必须有一个唯一的 ID。由于您首先定义了复选框,因此它们可以保留 ID 并且可以访问,但是单选按钮无法访问,因为它们的 id 已经被占用。我认为如果您切换这两个条件的位置,那么单选按钮将起作用,而不是复选框,如果是这种情况,那将证明我是对的。

    无论如何,即使这不是唯一的问题(但我很确定它是),这绝对是您需要解决的问题。两个输入必须具有不同的 ID。

    【讨论】:

    • 感谢您的澄清。我认为这是一种解决方法,因此最好确认第一个选项确实行不通。
    猜你喜欢
    • 2017-05-19
    • 2015-03-14
    • 1970-01-01
    • 2021-03-09
    • 2017-04-29
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    相关资源
    最近更新 更多