Изменение количества товара в корзине
Добрый день! Наверное слишком много и часто пишу тут, но хочется просто получить быстрее решения.
В корзине как известно есть регулятор количества покупаемого товара. Выглядит она примерно так:
Как заметили я, добавил к стандартному input еще картинки регуляторы (- и +) по бокам. Написал такой скрипт на jquery:
<script>
$(document).ready(function(){
$('.minus').bind('click', function()
{
console.log("вошли в минус!");
var itemNum=$(this).attr('data-extend');
console.log(itemNum);
var c = $("#myinput"+itemNum).val();
c--;
console.log©;
$("#myinput"+itemNum).val©;
});
$(".plus").click(function()
{
console.log("вошли в плюсик!");
var itemNum=$(this).attr('data-extend');
console.log(itemNum);
var c = $("#myinput"+itemNum).val();
c++;
console.log©;
$("#myinput"+itemNum).val©;
});
});
</script>
А в чанке tpl.msCart.row это представлена таким макаром:<div class="amount-box" style="height: 30px !important;">
<p class="minus" data-extend="[[+id]]"></p>
<input type="number" id="myinput[[+id]]" name="count" value="[[+count]]" max-legth="4" class="input-sm form-control" style="width: 30px; height:20px; outline:none;"/>
<p class="plus" data-extend="[[+id]]"></p>
<button class="btn btn-default" type="submit" name="ms2_action" value="cart/change"><i class="glyphicon glyphicon-refresh"></i></button>
</div>
Когда я изменяю количество товара через стандартные регуляторы поля input, то корзина обновляет изменения и фиксирует их, а когда жму свои нарисованные регуляторы (- и +), то в input изменяется число товара, но в корзине сообщений и изменений никаких нет. Как можно привязать события нажатия по классу minus и plus к реальным изменениям в корзине. Спасибо за ответ, если таковой будет… Комментарии: 4
Наверное слишком много и часто пишу тут, но хочется просто получить быстрее решения.Да, мы заметили — 9 вопросов за 2 дня.
Читай про jQuery.trigger();
Спасибо, сделал через trigger() работает)
Андрей, подскажи решение.
$('.amount-box p').click(function(e){
var v = $(this).parent().find('input#product_price').val(),
k = $(this).parent().find('input[name="key"]').val();
if( ($(this).hasClass('minus') || $(this).hasClass('plus') ) && v > 0) {
$.post("", {ms2_action: 'cart/change', key: k, count: v }, function(response) {
if (typeof response.success !== "undefined") {
if (response.success) {
miniShop2.Order.getcost();
miniShop2.Cart.status(response.data);
}
}
}, "json");
}
});
что то вроде этого должно помочь
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.