Buongiorno a tutti,
mi sono arenata in un piccolo problema
devo creare un magazzino con dei prodotti suddivisi per taglie e per ognuna devo dare una disponibilità max, quindi ho fatto così....
codice HTML:
<select name="select" class="item_size">
<option selected="selected" value="">--</option>
<option value="44 - 45" data-qty="2">44 - 45</option>
<option value="36 - 37" data-qty="3">36 - 37</option>
<option value="42 - 43" data-qty="4">42 - 43</option>
</select>
<p>--</p>
<div class="decrement_qty" data-min="0"><a href="javascript:;">-</a></div>
<div class="item_quantity">0</div>
<div class="increment_qty" data-max="0"><a href="javascript:;">+</a></div>
e questo è JS
codice:
$('.item_size').change(function() {
var dataMax = $(this).find(":selected").data("qty");
$(".item_quantity").text('1');
$(".increment_qty").attr("data-max", dataMax);
$(".decrement_qty").attr("data-min", '1');
});
$('.increment_qty').click(function() {
if ($('.item_size').val() != "") {
var oldVal = $(this).parent().find(".item_quantity").text();
if ( parseFloat(oldVal) < $(this).data("max") ) {
var newVal = parseFloat(oldVal) + 1;
$(this).parent().find(".item_quantity").text(newVal);
}
}
else {
alert("Seleziona una taglia");
}
});
$('.decrement_qty').click(function() {
if ($('.item_size').val() != "") {
var oldVal = $(this).parent().find(".item_quantity").text();
if ( parseFloat(oldVal) > $(this).data("min") ) {
var newVal = parseFloat(oldVal) - 1;
$(this).parent().find(".item_quantity").text(newVal);
}
}
else {
alert("Seleziona una taglia");
}
});
Alla prima scelta mi setta il parametro "data-max" perfettamente, se cambio taglia il valore di data-max rimane il primo scelto, eppure se faccio un alert(dataMax); prende correttamente il valore di data-qty
Quale potrebbe essere il problema?
Grazie in anticipo