我对R来说还很陌生,他正试图为我的学习构建一个小型实用程序。
我的excel工作簿中有3个字段,名称为:
国家州城市
所有这些字段都应作为UI的下拉列表。
[我想要实现的是:'当我选择国家/地区时,应该为国家/地区创建一个新的下拉列表,其中包含所选择国家/地区下的国家/地区列表。并根据所选择的州,在下拉菜单中填充基础城市”
我在网上找到了一些示例,但是他们都在创建一个带有3个固定下拉菜单的静态UI。如何动态实施?
下面的代码可以帮助我部分实现目标,例如:如果我选择一个国家作为'印度',它会添加另一个下拉列表,并根据使用的过滤器正确列出所有州。但是,一旦填充了州,即使我更改“国家/地区”的选定值,它们也不会更改。
有人可以帮我解决这个问题吗?
insertUI(selector = "#message", where = "beforeBegin",
ui=div(class="chat-bubbles",
div(class="bubble",
wellPanel(
p( selectInput("Country", "Countries", choices =c("All",unique(as.character(a1$`Country`) )), multiple = T) )))))
observeEvent(input$Country,{
insertUI(selector = "#message", where = "beforeBegin",
ui=div(class="chat-bubbles",
div(class="bubble",
wellPanel(
p(
selectInput("state", "States", choices =c(unique(as.character(a1$State))[a1$`Country`== input$Country])) )
))))
})
在服务器功能中,为您的国家observeEvent
添加一个selectInput
侦听器。在其中,使用updateSelectInput
重新填充您的状态selectInput
。同样,为您的州observeEvent
编写一个selectInput
侦听器以更新您的城市selectInput
。
除非重要的是要在选择一个国家之前不显示状态selectInput
(在选择了一个州之前不要显示城市selectInput
,否则,您应该能够执行所有这些操作而无需使用insertUI
或renderUI
。在updateSelectInput
上搜索帮助。在线上有很多示例。
无法为您提供解决方案,因为您还没有给我们提供有关问题的简单,独立的示例。这将包括玩具输入数据,您的代码,任何错误消息以及预期的输出。 This post可能会有所帮助。