@runapa

Почему не срабатывает условие if в js?

<select class="decision_select" name="decision" data-toggle="confirmation" data-title="are_you_shore" data-btn-ok-label="yes" data-btn-cancel-label="no">
     <option value="0" selected></option>
     <option value="1"><?=$lang['accept']; ?></option>
     <option value="2"><?=$lang['decline']; ?></option>
     <option value="3"><?=$lang['queue']; ?></option>

$(document).ready(function() {
        $(".decision_select").change(function(){
            if($(this).val() != 0){
                $('[data-toggle=confirmation]').confirmation({
                    rootSelector: '[data-toggle=confirmation]',
                    // other options
                    onConfirm: function() {
                        var form = $(this);
                        $.ajax({
                            url: '/',
                            type: "POST",
                            data: form.serialize(),
                            success: function (response) {
                                console.log(response + 'Submission was successful.');
                            }
                        });
                    },
                });
            }
        });
    });


Суть вопроса:
Я хочу отправить форму при выборе любого элемента, кроме первого в выпадающем списке, но перед отправкой показываю bootstrap confirmation с подтверждением. При этом если пользователь нажимает нет и затем выбирает первый элемент, bootstrap confirmation показываться не должен. Но почему-то в моём коде игнорируется условие и bootstrap confirmation показывается всегда.

upd
Условие срабатывает, а вот bootstrap confirmation вызывается всегда. А надо, чтобы иногда.
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
Дело не в условии, а в плагине bootstrap-confirmation.
Вызов его на элементе нужен 1 раз для инициализации плагина. Далее он сам слушает события на input'е и вызывается при любом изменении.
Ответ написан
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
А зачем вы $(this).val() с числом сравниваете, ещё и не строго, если надо сравнивать со строкой?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы