Всем привет!
Есть скрипт опроса, при запуске опроса, аяксом с сервера получаю все вопросы и варианты ответов к ним для опроса в виде json объекта.
После ответа на каждый вопрос, увеличивая счетчик меняю данные на странице jquery (текст вопроса, тексты ответов и айдишники).
Задача записывать результаты ответов на каждый вопрос. По клику "Ответить" при обходе методом each, собираются данные каждый раз от первого вопроса, т.е. изменения вносимые jquery в разметку он не видит.
var wcpolldata = {},
wcpollq = {},
next = 1;
$('.btn-step').on('click', function(event){
event.preventDefault();
var qid = wcpollq[next]['qid'],
a = [];
$('.radio-quest').each(function(i, elem){
if($(elem).prop('checked')){
var id = $(elem).data('id'),
cid = $(elem).data('cid'),
aid = $('#'+id).data('aid');
a.push(aid+':'+cid);
}
});
wcpolldata.q.push({qid: qid, a: a});
if(next < Object.keys(wcpollq).length){
next++;
}
else {
$('.main-section__text').hide();
$('.main-section__text.wcpoll-result').show();
}
setParams(wcpollq, next);
});
function setParams(d, n){
$('[type="radio"]').prop('checked', false);
$('.answer-box').removeClass('checked');
$('#q-num').html(n);
$('#q').html(d[n]['question']);
var i = 1;
while(i <= 3){
$('#a-'+i).html(d[n]['answers'][i-1]['answer']);
$('#a-'+i).attr('data-aid', d[n]['answers'][i-1]['id']);
i++;
}
}