В корзине товаров путаюсь реализовать возможность добавления(удаления) товаров в виде +/- 1.
Редактирую шаблон компонента bitrix:store.sale.basket.basket . Вот кусок кода
Реализация "+/- 1 товар" ведется при помощи jquery
Вот код:
<sc ript type="text/javascript">
$(docu ment).ready(f unction(){
var input = $('#inp');
var a;
$('#plus').click(f unction(){
$('#inp').each(f unction() {
a = input.val();
a++;
input.val(a);
});
});
$('#minus').click(f unction(){
$('#inp').each(f unction() {
a = input.val();
a = (a<1)?1:a;
a--;
input.val(a);
});
});
});
</sc ript>
Но происходит изменение только первого товара.
Также делал вариант без использования jquery - подставлял нижеследующий код в шаблон компонента (в цикл foreach в один из блоков td):
<fo rm>
<div class="cart-buttons">
<input type="hidden" name="QUANTITY_<?=$arBasketItems["ID"] ?>" value="<?=$arBasketItems["QUANTITY"]+1?>">
<input style="cursor: pointer;" type="s ubmit" value="+" name="BasketRefresh">
</div>
</form>
<fo rm>
<div class="cart-buttons">
<input type="hidden" name="QUANTITY_<?=$arBasketItems["ID"] ?>" value="<?=$arBasketItems["QUANTITY"]-1?>">
<input style="cursor: pointer;" type="s ubmit" value="-" name="BasketRefresh">
</div>
</form>
Ситуация аналогичная - изменения происходят лишь для одного (первого товара).
Подскажите как решить данную задачу.
Редактирую шаблон компонента bitrix:store.sale.basket.basket . Вот кусок кода
| Код |
|---|
<h2>Чай, кофе</h2> <div id="prod_zakaz"> <table class="cart-items" cellspacing="0"> <thead> <tr class="bg_none"> <?if (in_array("NAME", $arParams["COLUMNS_LIST"])):?> <td id="zagolovok" class="cart-item-name">Товар</td> <?endif;?> <?if (in_array("QUANTITY", $arParams["COLUMNS_LIST"])):?> <td id="zagolovok" class="cart-item-quantity">кол-во</td> <?endif;?> <?if (in_array("PRICE", $arParams["COLUMNS_LIST"])):?> <td id="zagolovok" class="cart-item-price">стоимость</td> <?endif;?> </tr> </thead> <tbody> <? $i=0; foreach($arResult["ITEMS"]["AnDelCanBuy"] as $arBasketItems) { CModule::IncludeModule('iblock'); $res = CIBlockElement::GetByID($arResult["ITEMS"]["AnDelCanBuy"][$i]["PRODUCT_ID"]); if($ar_res = $res->GetNext()){ if($ar_res['IBLOCK_ID'] == 132){ ?> <tr> <?if (in_array("NAME", $arParams["COLUMNS_LIST"])):?> <td class="cart-item-name"> <input id="minus" style="cursor: pointer;" type="s ubmit" value="-" name="BasketRefresh"> <?if (strlen($arBasketItems["DETAIL_PAGE_URL"])>0): ?><a href="<?=$arBasketItems["DETAIL_PAGE_URL"] ?>"><? endif; ?><?=$arBasketItems["NAME"] ?><? if (strlen($arBasketItems["DETAIL_PAGE_URL"])>0): ?></a><? endif;?> </td> <?endif;?> <?if (in_array("QUANTITY", $arParams["COLUMNS_LIST"])):?> <td class="cart-item-quantity"><input id="inp" maxlength="18" type="text" name="QUANTITY_<?=$arBasketItems["ID"] ?>" value="<?=$arBasketItems["QUANTITY"]?>" size="3"></td> <?endif;?> <?if (in_array("PRICE", $arParams["COLUMNS_LIST"])):?> <td class="cart-item-price"><?=$arBasketItems["PRICE_FORMATED"]?> <input id="plus" style="cursor: pointer;" type="s ubmit" value="+" name="BasketRefresh"> </td> <?endif;?> </tr> <? } } $i++; } ?> </tbody> </table> </div> |
Вот код:
<sc ript type="text/javascript">
$(docu ment).ready(f unction(){
var input = $('#inp');
var a;
$('#plus').click(f unction(){
$('#inp').each(f unction() {
a = input.val();
a++;
input.val(a);
});
});
$('#minus').click(f unction(){
$('#inp').each(f unction() {
a = input.val();
a = (a<1)?1:a;
a--;
input.val(a);
});
});
});
</sc ript>
Но происходит изменение только первого товара.
Также делал вариант без использования jquery - подставлял нижеследующий код в шаблон компонента (в цикл foreach в один из блоков td):
<fo rm>
<div class="cart-buttons">
<input type="hidden" name="QUANTITY_<?=$arBasketItems["ID"] ?>" value="<?=$arBasketItems["QUANTITY"]+1?>">
<input style="cursor: pointer;" type="s ubmit" value="+" name="BasketRefresh">
</div>
</form>
<fo rm>
<div class="cart-buttons">
<input type="hidden" name="QUANTITY_<?=$arBasketItems["ID"] ?>" value="<?=$arBasketItems["QUANTITY"]-1?>">
<input style="cursor: pointer;" type="s ubmit" value="-" name="BasketRefresh">
</div>
</form>
Ситуация аналогичная - изменения происходят лишь для одного (первого товара).
Подскажите как решить данную задачу.