Всем привет! Подскажите как устранить такой баг. Есть код, который успешно работает под IE но в то же время не работает под оперой и хромом (тестировал только в этих браузерах).
Выдает ошибку
jquery.checkbox.js:40 Uncaught TypeError: Cannot read property 'PayUntil' of undefined
когда тыкаю по чекбоксу.
хотя в answer- json и там есть нода data и есть Атрибут PayUntil.
Подскажите почему в ИЕ все норм а в других такая ошибка - всю голову уже поломал.
Методом копания, пока писал вопрос - пришел к выводу, что не формируется почему-то переменная i - пока разбираюсь, копаю. Будут мысли - напишите.
v_1 - я так понимаю не передаётся JQuery(this).
v_2 вроде передается но почему то не так как в ие
Заранее благодарю.
код jquery.checkbox.js:
var total_amount=0, total_all=0, total_komis=0, total_count=0;
jQuery(function(){
//alert('m0');
jQuery('.niceCheck')
.live('click', function () {
changeCheck(jQuery(this));
}
);
//jQuery(".niceCheck").mousedown(
/* при клике на чекбоксе меняем его вид и значение */
//function() {
// changeCheck(jQuery(this));
//});
jQuery(".niceCheck").each(
/* при загрузке страницы нужно проверить какое значение имеет чекбокс и в соответствии с ним выставить вид */
function() {
changeCheckStart(jQuery(this));
});
});
function changeCheck(el)
/*
функция смены вида и значения чекбокса
el - span контейнер для обычного чекбокса
input - чекбокс
*/
{ //alert('m1');
var el = el,
input = el.find("input").eq(0);
var i=el.val();
alert(JSON.stringify(answer));
var PayUntil = answer.data[i].PayUntil;
//... some code down from here
}