Перейти к содержимому


Фото
- - - - -

Проблема с ajax cart


Best Answer sergeevizh , 10.09.2019 - 10:59

// Аяксовая корзина
$('form.variants').on('submit', function(e) {
	e.preventDefault();
	button = $(this).find('input[type="submit"]');

    //new
    if($(this).find('input[name=variant]:checked').length > 0 ) 
        variant = $(this).find('input[name=variant]:checked').val();
    if($(this ).find('input[name=variant]').length > 0 ) {
        variant = $(this).find('input[name=variant]').val();
	//new	
	$.ajax({
		url: "ajax/cart.php",
		data: {variant: variant},
		dataType: 'json',
		success: function(data){
			$('#cart_informer').html(data);
			if(button.attr('data-result-text'))
				button.val(button.attr('data-result-text'));
		}
	});
	var o1 = $(this).offset();
	var o2 = $('#cart_informer').offset();
	var dx = o1.left - o2.left;
	var dy = o1.top - o2.top;
	var distance = Math.sqrt(dx * dx + dy * dy);
	$(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance);	
	$('.transfer_class').html($(this).closest('.product').find('.image').html());
	$('.transfer_class').find('img').css('height', '100%');
	return false;
});

.size() заменить на .length

Перейти к посту


  • Чтобы отвечать, сперва войдите на форум
2 ответов в теме

#1 megauser

megauser
  • Пользователь
  • 79 сообщений
  • Дизайн, Заказчик, Пользователь
  • Откуда:Россия

Опубликовано 10.09.2019 - 10:50

Такая проблема, подключил библиотеку jquery 3 версии, так как бустрап 4 требует свежую.

 

Теперь корзина не работает и выдает ошибку.

 

Uncaught TypeError: $(...).find(...).size is not a function

Ругается на эту строчку

 

if($(this).find('input[name=variant]:checked').size()>0)

Когда переключаю на стандартную библиотеку все работает.

 

 

// Аяксовая корзина
$('form.variants').on('submit', function(e) {
	e.preventDefault();
	button = $(this).find('input[type="submit"]');
	if($(this).find('input[name=variant]:checked').size()>0)
		variant = $(this).find('input[name=variant]:checked').val();
	if($(this).find('select[name=variant]').size()>0)
		variant = $(this).find('select').val();
	$.ajax({
		url: "ajax/cart.php",
		data: {variant: variant},
		dataType: 'json',
		success: function(data){
			$('#cart_informer').html(data);
			if(button.attr('data-result-text'))
				button.val(button.attr('data-result-text'));
		}
	});
	var o1 = $(this).offset();
	var o2 = $('#cart_informer').offset();
	var dx = o1.left - o2.left;
	var dy = o1.top - o2.top;
	var distance = Math.sqrt(dx * dx + dy * dy);
	$(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance);	
	$('.transfer_class').html($(this).closest('.product').find('.image').html());
	$('.transfer_class').find('img').css('height', '100%');
	return false;
});

 



#2 sergeevizh

sergeevizh
  • Пользователь
  • 191 сообщений
  • Откуда:Москва

Опубликовано 10.09.2019 - 10:59   Best Answer

// Аяксовая корзина
$('form.variants').on('submit', function(e) {
	e.preventDefault();
	button = $(this).find('input[type="submit"]');

    //new
    if($(this).find('input[name=variant]:checked').length > 0 ) 
        variant = $(this).find('input[name=variant]:checked').val();
    if($(this ).find('input[name=variant]').length > 0 ) {
        variant = $(this).find('input[name=variant]').val();
	//new	
	$.ajax({
		url: "ajax/cart.php",
		data: {variant: variant},
		dataType: 'json',
		success: function(data){
			$('#cart_informer').html(data);
			if(button.attr('data-result-text'))
				button.val(button.attr('data-result-text'));
		}
	});
	var o1 = $(this).offset();
	var o2 = $('#cart_informer').offset();
	var dx = o1.left - o2.left;
	var dy = o1.top - o2.top;
	var distance = Math.sqrt(dx * dx + dy * dy);
	$(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance);	
	$('.transfer_class').html($(this).closest('.product').find('.image').html());
	$('.transfer_class').find('img').css('height', '100%');
	return false;
});

.size() заменить на .length



#3 megauser

megauser
  • Пользователь
  • 79 сообщений
  • Дизайн, Заказчик, Пользователь
  • Откуда:Россия

Опубликовано 10.09.2019 - 11:11

// Аяксовая корзина
$('form.variants').on('submit', function(e) {
	e.preventDefault();
	button = $(this).find('input[type="submit"]');

    //new
    if($(this).find('input[name=variant]:checked').length > 0 ) 
        variant = $(this).find('input[name=variant]:checked').val();
    if($(this ).find('input[name=variant]').length > 0 ) {
        variant = $(this).find('input[name=variant]').val();
	//new	
	$.ajax({
		url: "ajax/cart.php",
		data: {variant: variant},
		dataType: 'json',
		success: function(data){
			$('#cart_informer').html(data);
			if(button.attr('data-result-text'))
				button.val(button.attr('data-result-text'));
		}
	});
	var o1 = $(this).offset();
	var o2 = $('#cart_informer').offset();
	var dx = o1.left - o2.left;
	var dy = o1.top - o2.top;
	var distance = Math.sqrt(dx * dx + dy * dy);
	$(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance);	
	$('.transfer_class').html($(this).closest('.product').find('.image').html());
	$('.transfer_class').find('img').css('height', '100%');
	return false;
});

.size() заменить на .length

 

Благодарю






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых