Выполнить загрузку и изменить вместе JQuery

голоса
0

У меня есть JS функция , которая показывает различные сообщения , когда вариант от выбора кнопки. Я использую , .onchangeчтобы стрелять сообщения.

То, что я пытаюсь достичь, а чтобы показать правильное сообщение, если вы загрузите HTML и вариант уже выбран. Так или иначе, я думаю, чтобы объединить изменения и нагрузку.

Вот мой HTML

<div class=row>

                    <div class=col-md-4>
                    <div class=form-group><label for=cat>Category</label>
                            <select name=cat id=cat class=form-control size=5>
                                <option value=General>General</option>
                                <option value=Rooms>Rooms</option>
                                <option value=Restaurant>Restaurant</option>
                                <option value=Spa>Spa</option>
                                <option value=Massages selected>Massages</option>

                            </select>
                        </div>
                </div> 
                <div class=col-md-8>
                    <div class=form-group><label for=cat>Category explanation</label>
                            <div class=alert alert-secondary show_general style=display:none;><strong>General: </strong>The general category </div>
                            <div class=alert alert-secondary show_rooms style=display:none;><strong>Rooms: </strong>The rooms category </div>
                            <div class=alert alert-secondary show_restaurant style=display:none;><strong>Restaurant: </strong>The </div>
                            <div class=alert alert-secondary show_spa style=display:none;><strong>Spa: </strong>The Spa category </div>
                            <div class=alert alert-secondary show_massages style=display:none;><strong>Massages: </strong>The massages category carousel </div>
                        </div>
                </div>
                </div>

JS

$('#cat').on('change load',function load_msg() {

  if ($(this).val() == 'General') { $('.show_general').show(); } else { $('.show_general').hide(); }
  if ($(this).val() == 'Rooms') { $('.show_rooms').show(); } else { $('.show_rooms').hide(); }
  if ($(this).val() == 'Spa') { $('.show_spa').show(); } else { $('.show_spa').hide(); }
  if ($(this).val() == 'Restaurant') { $('.show_restaurant').show(); } else { $('.show_restaurant').hide(); }
  if ($(this).val() == 'Massages') { $('.show_massages').show(); } else { $('.show_massages').hide(); }

});

Я пытался использовать .onloadвместе с , changeно не могу понять, почему он не работает

Задан 19/03/2020 в 23:52
источник пользователем
На других языках...                            


1 ответов

голоса
1

Вместо запуск OnLoad необходимо вызвать .Кнопку () событие выпадающего списка. Это вызывает ту же функцию, как если бы кто-то выбран / изменил выпадающий список. Я также оптимизирован код.

$('#cat').on('change',function load_msg() {
   $('.alert-secondary').hide();
   $('.show_'+ $(this).val().toLowerCase()).show();
});

$('#cat').change();
Ответил 20/03/2020 в 00:02
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more