Показать сообщение отдельно
  #1 (permalink)  
Старый 19.03.2019, 14:34
Аватар для finlolo
Аспирант
Отправить личное сообщение для finlolo Посмотреть профиль Найти все сообщения от finlolo
 
Регистрация: 12.08.2018
Сообщений: 61

Не видет переменную
Есть код:
var glObj;
var DATA = {
    cardCounter: 0,
    cardContainer: document.querySelector('#airforms')
};
function ajaxGet(){
    jQuery.ajax({
        type: 'POST', 
        url: '/wp-content/themes/airball/get.php', 
        dataType: 'json', 
        beforeSend: function(data) { 
            //form.find('input[type="submit"]').attr('disabled', 'disabled'); 
        },
        success: function(data){ 
            glObj = data;
            createCard(data);
        }       
    });
}

function createCard(objDo){
    создается карточка, использую полученные данные из ajax
}

document.addEventListener('DOMContentLoaded', function() {
    ajaxGet(); // как только страница загрузилась получаем данные и создаем карточку
    
    document.querySelector('#btnplus').onclick = function(){
        createCard(glObj); 
        // если кто-то заходел сделать копию карточки, то она создается по клику на кнопку. Успешно работает!
    }
    document.addEventListener("change", function(event) {
        if(event.target.matches("select[id^='calc_stor_']")) {
            // изменения внутри карточки.
            var idfull = event.target.id;       
            id = idfull.replace("calc_stor_", "");
            var select = document.querySelector('#'+idfull);
            var stor;
            for (var i = 0; i < select.options.length; i++) {
                var option = select.options[i];
                    if(option.selected) {
                        stor = option.value;
                }
                document.querySelector('#heresum_'+id).innerHTML = document.querySelector('#calc_tirag_'+id).innerHTML * objDo.stors[stor].as_price; // объект не видно.
            }
        }
    });  
});


по onchange происходят изменения. но внутри не видно объект, а по нажатию на кнопку видно. в чем трабл?
Суть в том, чтобы не запрашивать постоянно изменения из ajax нужно их получить 1 раз и все.

Последний раз редактировалось finlolo, 19.03.2019 в 14:39.
Ответить с цитированием