Сообщение от Nexus
|
7in, в представленном вами коде изменяется только контент блока ".stick_error" и ничего более.
Вероятно при изменении элементов на странице затираются их обработчики.
|
В данной функции, да. Мой косяк - не пояснил.
Есть ещё ряд функций, которые изменяют кол-во строк таблицы и обновляют их содержимое AJAX'ом. При этом структура никак не изменяется, т.е. в каждой строке выводится одно и то же Name 1, Name 2,... , Name N. И меняется id, соответственно, в той же прогрессии.
Я не стал выкладывать весь код, т.к. его довольно много.
Есть ещё функция:
function stickEdit(){
$('.table #edit').each(function(){
$(this).on('click', function(){
var index = $(this).attr('name');
oldname = $(".table #"+index).text();
var data = {
action: "stick_mat_type_e",
name: oldname
};
var editAjax = $.post(ajaxurl, data, function(response){
editAjax.complete(function(){
var count = $.parseJSON(response).length;
var cats = $.parseJSON(response);
if(count>1){
$('input:checkbox:checked').prop('checked', false);
for(var i=0;i < count;i++){
$('input:checkbox[value="'+cats[i]+'"]').prop('checked', true);
$('#stick_text').val(oldname);
$('html, body').animate({scrollTop: 0},500);
$('#to_complete').empty().text('Изменить');
}
}else{
$('input:checkbox[value="'+cats+'"]').prop('checked', true);
$('#stick_text').val(oldname);
$('html, body').animate({scrollTop: 0},500);
$('#to_complete').empty().text('Изменить');
}
});
});
});
});
}
Делает примерно то же самое, обработчик на ней тот же и вызывается прямо рядом с первой. Возможно, она затирает обработчик?
Тогда вопрос такой. Обработчики
$('.table').each(function(){
$(this).on('click', '#delete', function(){
});
});
и
$('.table').each(function(){
$(this).on('click', '#edit', function(){
});
});
это одно и то же, мешают ли они друг другу? Если да, то как выйти из ситуации?