【问题标题】:JQuery Bootstrap selectpicker show optgroupJQuery Bootstrap 选择器显示 optgroup
【发布时间】:2019-02-28 15:17:44
【问题描述】:

这里是演示

  <select class="selectpicker" multiple name="selectpickerdemo"
      id="selectpickerdemo"> 
    <optgroup label="Label 1">
      <option value='a'>a</option>
      <option value='b'>b</option>
    </optgroup>
    <optgroup label="Label 2">
      <option value='c'>c</option>
      <option value='d'>d</option>
    </optgroup> 
  </select>

当我使用 selectpicker 并选择一个或多个选项时, 它显示为a,ba,c,d 我想表现得像 Label1-a,bLabel1-a,Label2-c,d

谢谢帮助!

【问题讨论】:

    标签: javascript jquery bootstrap-selectpicker


    【解决方案1】:

    试试这个...

    $(document).on('change', '.selectpicker', function() {
      var SelectedValues = [];
      $(this).find('optgroup').each(function() {
        var OptionGroupSelected = [];
        $(this).find('option').each(function() {
          if ($(this).prop('selected')) {
            OptionGroupSelected.push($(this).val());
          }
        });
        if (OptionGroupSelected.length > 0) {
          var Label = $(this).attr('label').replace(' ', '');
          SelectedValues.push(Label + '-' + OptionGroupSelected.join(','));
        }
      });
      console.log(SelectedValues);
    });
    

    Here is the fiddle

    【讨论】:

    • 它有效,谢谢!我希望 selectpicker 标签显示 Label1-a,b 并且我使用 {$(".selectpicker").selectpicker('val',SelectedValues); .但是没有任何改变,有什么解决办法吗?
    • 我不确定我是否遵循,但如果我的回答解决了原始问题,请确保将问题标记为已回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多