每当具有不同输入ID的另一个selectInput
的值发生更改时,我需要使用自己的输入ID更改一个selectInput
的值。
在javascript中,这将是onchage
,但我无法弄清楚如何将这两者联系起来。
jQuery 或 R 代码没问题。
编辑:使用此代码:
observe({
choices <- input$product
updateSelectInput(session, "productexperiance",
choices=c("NA", paste(ProductList())), selected="NA")
})
我仍然不明白为什么会这样。
答案 0 :(得分:4)
使用observe
和updateSelectInput
。假设一个名为col的selectInput和另一个名为value的值:
observe({
choices <- values[input$col]
updateSelectInput(session, "value", choices=choices)
})
观察者的第一行只是代表你想要用来决定第二个selectInput
的选择的逻辑。值只是一个包含一些数据的假设向量或列表。
重要的是你访问观察者中第一个selectInput
的值;这将导致观察者在该值发生变化时重新执行。
答案 1 :(得分:1)
使用JQuery(您必须加载JQuery脚本才能使用它)
$('#select1').change(function(){
$('#select2').val('1');
});
你必须稍微玩一下......(未经测试)
#表示一个元素的ID - 实际的ID可以是任何东西(除了select1或select2)
在我的例子中,当select1被改变时,select2也会被改变。
val()中的'1'应该对应于另一个列表中可用的实际值。