【问题标题】:selectInput Category selectionselectInput 类别选择
【发布时间】:2020-07-03 23:21:05
【问题描述】:

我有一个这样的 selectInput 代码

selectInput('x4', 'X4', choices = list(
     Eastern = c(`New York` = 'NY', `New Jersey` = 'NJ'),
  Western = c(`California` = 'CA', `Washington` = 'WA')
), selectize = FALSE)

是否可以启用类别部分,例如 Eastern, Western。如果用户选择 Eastern 两个值都必须加载(新泽西州和纽约州)。有可能吗?

【问题讨论】:

    标签: shiny


    【解决方案1】:
    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){}
    )
    

    【讨论】:

      猜你喜欢
      • 2023-03-26
      • 2020-04-19
      • 1970-01-01
      • 1970-01-01
      • 2019-11-20
      • 2019-01-19
      • 2021-05-17
      • 2021-01-22
      • 2020-07-28
      相关资源
      最近更新 更多