добрый день форумчане!
задача:
есть список цен(input radio), который должен переключаться при изменении количества и так же количество должно изменяться в зависимости от выбранной цены (если кол-во ближе к верхнему пределу, то ставится верхний предел, если к нижнему то наоборот)
принцип работы:
функция "сравнение и переключение" получает объект JQ, определяет откуда был отправлен этот объект (или правильнее что это за объект) и уже на основании этого делает необходимые переключения и вычисления
проблема:
находится необходимый мне INPUT по его значению (VALUE) но вот почему то ему не присваевается атрибут CHECKED, и нет ни одной ошибки в консоли, а значит скрипт работает на УРА
это основная часть скрипта (в HTML на всякий случай целиком, вдруг где то косяк, а я не заметил), а HTML странички вместе со скриптом в прикреплении
jQuery(function($) {
// сравнение и переключение
function check_quantity(variable) {
if (variable.hasClass("jsPriceIndex")) {
var val = parseInt(variable.val()); //может быть самовывоз
var qua = parseInt(jQuery('.jsQuantity').val(), 10);
switch (val) {
case 2://вторая цена
if (qua < 1) {
qua = 1; //количество 1-2шт
} else if (qua > 2) {
qua = 2;
}
break;
case 3://третья цена
if (qua < 3) {
qua = 3; //количество 3-6шт
} else if (qua > 6) {
qua = 6;
}
break;
case 4://четвёртая цена
if (qua < 7) {
qua = 7; //количество 7-10шт
} else if (qua > 10) {
qua = 10;
}
break;
}
jQuery('.jsQuantity').val(qua);
}
if (variable.hasClass("jsQuantity")) {
var qua = parseInt(variable.val());
switch (true) {
case (qua <= 1 || qua == 2): //количество 1-2шт
var val = 2; //вторая цена
break;
case (qua >= 3 && qua <= 6): //количество 3-6шт
var val = 3; //третья цена
break;
case (qua >= 7 && qua <= 10): //количество 7-10шт
var val = 4; //четвёртая цена
break;
default: //количество любое
var val = 1; //самовывоз
}
jQuery(".jsPriceIndex [value='" + val + "']").attr('checked', true);
}
}
//увеличение количества
$('.jsAddQuantity').click(function() {
var quantity = parseInt($('.jsQuantity').val(), 10);
quantity++;
$('.jsQuantity').val(quantity);
// отправка в сравнение и переключение
check_quantity($('.jsQuantity'));
return false;
});
//уменьшение количества
$('.jsRemoveQuantity').click(function() {
var quantity = parseInt($('.jsQuantity').val(), 10);
quantity--;
if (quantity <= 0) {
quantity = 1;
}
$('.jsQuantity').val(quantity);
// отправка в сравнение и переключение
check_quantity($('.jsQuantity'));
return false;
});
jQuery('.jsPriceIndex').on("click", function() {
// отправка в сравнение и переключение
check_quantity(jQuery(this));
});
//...................далее функции не имеющие отношения к проблеме...................
});