@vegarulez

.live почему не передается объект??

Всем привет! Подскажите как устранить такой баг. Есть код, который успешно работает под 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
}
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
Нашел ошибку, точнее опечатку:

В функции changeCheck нужно в строке var i=el.val(); поменять el на input.

Как это работает в ИЕ - загадка :)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы