shiny - selectInput 类别选择
问题描述
我有一个这样的 selectInput 代码
selectInput('x4', 'X4', choices = list(
Eastern = c(`New York` = 'NY', `New Jersey` = 'NJ'),
Western = c(`California` = 'CA', `Washington` = 'WA')
), selectize = FALSE)
是否可以启用类别部分,例如Eastern, Western。如果用户选择了东部,则必须加载两个值(新泽西和纽约)。可能吗 ?
解决方案
library(shiny)
onInitialize <- "
function(){
var select = this.$input[0];
this.$dropdown_content.on('mousedown', function(e){
e.preventDefault();
return false;
}).on('click', '.optgroup-header', function(e){
var options = $(this).parent().find('.option');
var items = [];
options.each(function(i, opt){items.push($(opt).data('value'));});
var selections = select.selectize.items;
select.selectize.setValue(items.concat(selections));
});
}
"
shinyApp(
ui = fluidPage(
selectizeInput("state", "Choose a state:",
list(`East Coast` = list("NY", "NJ", "CT"),
`West Coast` = list("WA", "OR", "CA"),
`Midwest` = list("MN", "WI", "IA")),
multiple = TRUE,
options = list(
onInitialize = I(onInitialize)
)
)
),
server = function(input, output){}
)
推荐阅读
- terraform - 如何使用 terraform 在 AWS 中创建重复资源
- python - 如何使用 pandas 将度分秒 (DMS) 数据直接从 .CSV 文件读取到数据帧中作为字符串?
- msbuild - 有没有办法通过 github 托管的运行器在 github 操作中使用 MSBuild 版本 12?
- javascript - Javascript使用反引号语法添加换行符
- flowable - 如何将表单中选择的字符串标识符分配给Flowable 3.6.1中的子流程?
- python - 功能问题
- javascript - 如何使按钮内的图标像按钮一样工作(指针事件:无;不起作用)
- xamarin.forms - 主详情页面加载菜单条目 MVVM
- apache-flink - Flink Process Function 没有将数据返回到 Sideoutputstream
- azure-logic-apps - Azure 存储队列和托管标识