С заданными
var max=100;
var min=50;
работает прекрасно, а вот если их задавать выводом из бд не работает.
А вот в этом скрипте срабатывает:
function quantity(product_id, quantity ,minimum, maximum) {
if (qnty == '') return;
var qnty = Number($('input[name=\'' + product_id + '\']').val());
qnty += Number(quantity);
if(qnty > minimum) {
$('input[name=\'' + product_id + '\']').val(qnty);
recalc(product_id)
} else {
$('input[name=\'' + product_id + '\']').val(minimum);
recalc(product_id)
};
var maxqnty = Number($('input[name=\'' + product_id + '\']').val());
maxqnty == Number(quantity);
if(maxqnty < maximum) {
$('input[name=\'' + product_id + '\']').val(maxqnty);
recalc(product_id)
} else {
$('input[name=\'' + product_id + '\']').val(maximum);
recalc(product_id)
};
}
А в последовательности не хочет максимум цеплять:
function quantity(product_id, quantity ,minimum, maximum) {
if (qnty == '') return;
var qnty = Number($('input[name=\'' + product_id + '\']').val());
qnty += Number(quantity);
if(qnty > minimum) {
$('input[name=\'' + product_id + '\']').val(qnty);
recalc(product_id)
} else {
$('input[name=\'' + product_id + '\']').val(minimum);
recalc(product_id)
};
var maxqnty = Number($('input[name=\'' + product_id + '\']').val());
maxqnty == Number(quantity);
if(maxqnty < maximum) {
$('input[name=\'' + product_id + '\']').val(maxqnty);
recalc(product_id)
} else {
$('input[name=\'' + product_id + '\']').val(maximum);
recalc(product_id)
};
}
function recalc(product_id) {
var quantity = $('input[name=\'' + product_id + '\']').val();
var maximum = $('input[name=\'' + product_id + '\']').val(maximum);
var minimum = minimum;
var quantity = quantity ||1;
quantity=parseInt(quantity);
quantity=(quantity>maximum) ? maximum: quantity;
quantity=(quantity<minimum) ? minimum: quantity;
var quantity = typeof(quantity) != 'undefined' ? quantity : 1;
var options_price = 0;
$('#option_'+product_id+' option:selected, #option_'+product_id+' input:checked').each(function() {
if ($(this).attr('price_prefix') == '+') { options_price = options_price + Number($(this).attr('price')); }
if ($(this).attr('price_prefix') == '-') { options_price = options_price - Number($(this).attr('price')); }
});
var price_no_format = Number($('.change-price'+product_id).attr('price'));
var special_no_format = Number($('.change-special'+product_id).attr('price'));
var new_price = (price_no_format + options_price) * quantity;
var new_special = (special_no_format + options_price) * quantity;
$('.change-price' + product_id).html(price_format(new_price));
$('.change-special' + product_id).html(price_format(new_special));
}
Не работает. Подозреваю, что выводится не то значение в максимум.