@WalkersRei

Не вытаскивает переменную в JS?

По логике при нажатие на одну из платежных систем, JS подставляет нужный ID, но в логах пишет, что переменная пустая.
Код модального окна
<div class="modal-body">
          <div class="_modal_form">
            <div class="_modal_form_group">
              <label for="sum-payments">Сумма выплаты:</label>
              <input type="number" id="money_sum" name="money_sum" placeholder="Введите сумму">
            </div>
            <div class="_modal_form_group">
              <label for="sum-payments">Платежная система:</label>
              <div class="custom-modal-select">
                <div class="custom-modal-select-head" opened="false"><span>Выберите платежную систему</span></div>
                <div class="custom-modal-select-body">
                  <div class="custom-modal-select-option" system="1">Qiwi</div>
                  <div class="custom-modal-select-option" system="2">Webmoney</div>
                  <div class="custom-modal-select-option" system="3">Яндекс Деньги</div>
                  <div class="custom-modal-select-option" system="4">Банковская карта</div>
                </div>
              </div>
            </div>
            <div class="_modal_form_group">
                <button type="submit" class="sMB text-center font-medium font-14 text-white mx-auto" id="money_btn">Запросить</button>
              </div>
          </div>
        </div>
JavaScript
$(".custom-modal-select-option").click(function() {
	   var system = $(this).attr("system");  
    });

        $("#money_btn").click(function(){
            $.ajax({
                url: location.href,
                type: "POST",
                data: {request_money: true, money_system: system, money_sum: $("#money_sum").val()},
                success: function (data) {
                	console.log(data);
                    data = JSON.parse(data);
                    switch (data.status) {
                        case "success":
                            console.log(data);
                            $("#modalGetPayments").modal("hide");
                            fly_p("success", "Ваш запрос на выплату был создан!");
                            setTimeout(function () {
                                location.href = location.href;
                            }, 2000);
                            break;

                        case "error":
                            fly_p("danger", data.error);
                            break;
                    }
                }
            });        
        });
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
@bqio
https://bqio.github.io/
Вы инициализируете переменную system не в глобальной области видимости.

Попробуйте:
var system = null;
$(".custom-modal-select-option").click(function() {
  system = $(this).attr("system");  
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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