Второй вариант выбора списка на основе результатов в раскрывающемся списке FIRST (должен работать в IE)

У меня есть выбор HTML со списком параметров (на самом деле вытащил из таблицы SQL, но это не имеет значения здесь).

HTML (первый выбор)

<select id="groups" ......>
<option value="A" >Workday A </option>
<option value="B" >Workday B</option>
<option value="AA" >Weekend AA</option>
<option value="BB" >Weekend BB</option>

Теперь - на основании результатов первого, если пользователь выбирает A или B, ему должно быть разрешено только выбрать часы 1,2,3,4 в следующем раскрывающемся списке, если они выбирают AA или BB, они могут выбрать 1,2,3,4,5,6,7,8,9,10

Представьте, что это используется для заявления о сверхурочной работе - вы можете потребовать до 4 часов в рабочий день или до 10 в выходные. Поскольку я не хочу, чтобы люди могли требовать более 4 в раскрывающемся списке, если они выбрали Рабочий день A или B I, они нужны только для отображения действительных результатов.

<select id="sub_groups" ......>
<option value="1.0">1 hr</option>
<option value="2.0">2 hrs</option>
<option value="3.0">3 hrs</option>
<option value="4.0">4 hrs</option>
<option value="5.0">5 hrs</option>
<option value="6.0">6 hrs</option>
<option value="7.0">7 hrs</option>
<option value="8.0">8 hrs</option>
<option value="9.0">9 hrs</option>
<option value="10.0">10 hrs</option>

Я нашел скрипт, который отлично работает в FFX, но не в IE

   <script type="text/javascript">
       $(function(){
        $('body').on('change','#groups', function(){
            var val = $(this).val();
            var sub = $('#sub_groups');
            $('option', sub).filter(function(){
                if (
                     $(this).attr('data-group') === val 
                  || $(this).attr('data-group') === 'SHOW'
                ) {
                    $(this).show();
                } else {
                    $(this).hide();
                }
            });
        });
        $('#groups').trigger('change');
    });

<option data-group="SHOW" value="0.5">0 hr 30 mins</option>
<option data-group="SHOW" selected="selected" value="1.0">1 hr</option>
<option data-group="SHOW" value="1.5">1 hr 30 mins</option>
<option data-group="SHOW" value="2.0">2 hrs</option>
<option data-group="SHOW" value="2.5">2 hrs 30 mins</option>        
<option data-group="SHOW" value="3.0">3 hrs</option>
<option data-group="SHOW" value="3.5">3 hrs 30 mins</option>        
<option data-group="SHOW" value="4.0">4 hrs</option>

<option data-group="AA" value="4.5">4 hrs 30 mins</option>
<option data-group="AA" value="5.0">5 hrs</option>
<option data-group="AA" value="5.5">5 hrs 30 mins</option>
<option data-group="AA" value="6.0">6 hrs</option>
<option data-group="AA" value="6.5">6 hrs 30 mins</option>      
<option data-group="AA" value="7.0">7 hrs</option>
<option data-group="AA" value="7.5">7 hrs 30 mins</option>      
<option data-group="AA" value="8.0">8 hrs</option>  
<option data-group="AA" value="8.5">8 hrs 30 mins</option>      
<option data-group="AA" value="9.0">9 hrs</option>
<option data-group="AA" value="9.5">9 hrs 30 mins</option>      
<option data-group="AA" value="10.0">10 hrs</option>


<option data-group="BB" value="4.5">4 hrs 30 mins</option>
<option data-group="BB" value="5.0">5 hrs</option>
<option data-group="BB" value="5.5">5 hrs 30 mins</option>
<option data-group="BB" value="6.0">6 hrs</option>
<option data-group="BB" value="6.5">6 hrs 30 mins</option>      
<option data-group="BB" value="7.0">7 hrs</option>
<option data-group="BB" value="7.5">7 hrs 30 mins</option>      
<option data-group="BB" value="8.0">8 hrs</option>  
<option data-group="BB" value="8.5">8 hrs 30 mins</option>      
<option data-group="BB" value="9.0">9 hrs</option>
<option data-group="BB" value="9.5">9 hrs 30 mins</option>      
<option data-group="BB" value="10.0">10 hrs</option>    

IE просто отображает ВСЕ доступные мне опции, а не только конкретные, основанные на выпадающем меню.

Есть идеи? Может ли быть так, как я читал в другом месте, что IE не поддерживает "скрыть", и мне нужно изменить JS на что-то другое?

1 ответ

ОК Нашел ответ от друга с копанием. При этом будет отображено второе выпадающее меню SELECT после выбора первого, а затем будет отображаться третье в зависимости от результата второго. Мне нужны только первые два, так что это немного исправлено, но оно работает в IE и FFX

Jquery, чтобы изменить второй выбор на основе параметров первого

Другие вопросы по тегам