2015-01-26 4 views
2

Возможно ли иметь несколько слоев optgroup на select2?
В принципе, optgroup внутри другой optgroup.Select2 optgroup внутри optgroup

<select> 
    <optgroup label="Level_1"> 
     <optgroup label="Level_2"> 
      <option value="option_1">option_1</option> 
      <option value="option_2">option_2</option> 
     </optgroup> 
    </optgroup> 
</select> 

Fiddle

Спасибо.

ответ

4

Вложенные optgroups не поддерживаются в HTML, но вы можете использовать JavaScript для их создания.

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <script> 
      $(document).ready(function() { 
       $('#NestedOptGroups').select2({ 
        data: [ 
         { 
          text: 'Level_1', children: [ 
          { 
           text: 'Level_2', children: [ 
           {id: 'Level2Opt0', text: 'Sub Option 1'}, 
           {id: 'Level2Opt1', text: 'Sub Option 2'} 
          ] 
          }, 
          {id: 'Level1Opt0', text: 'Main Level option 1'} 
         ] 
         } 
        ] 
       }); 
      }); 
     </script> 

    </head> 
    <body> 
      <input class="select2" id="NestedOptGroups" placeholder="select one"/> 
    </body> 
</html> 
+1

Это действительно работает! где вы были 5 месяцев назад, когда я нуждался в вас! :П – Manatax

1

Попробуйте так:

<select> 
    <optgroup label="Level_1"> 
     <optgroup label="&nbsp;&nbsp;&nbsp;&nbsp;Level_2"> 
      <option value="option_1">&nbsp;&nbsp;&nbsp;&nbsp;option_1</option> 
      <option value="option_2">&nbsp;&nbsp;&nbsp;&nbsp;option_2</option> 
     </optgroup> 
    </optgroup> 
</select> 

Check this Demo

+0

Умный обходной путь для регулярных выборок, но не работает на select2. – Manatax

Смежные вопросы