Оптовые и розничные функции не работают для добавления в корзину - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь построить цену как оптом, так и в розницу. Так, если пользователь нажимает на оптовую продажу, он должен показывать ввод с количеством количества внутри него, и если пользователь нажимает на кнопку «добавить в корзину», он должен брать оптовую цену, а когда нажимает «Купить оптом», он должен разрешать ввод данных пользователем. количество предметов, которые они хотят купить и должны быть добавлены в корзину как розничная цена. Прямо сейчас, когда я нажимаю «купить оптом» и нажимаю «добавить в корзину», он берет количество и добавляет цену как оптовый, но когда я нажимаю на розницу, он также принимает оптовую цену и количество. Не добавляет в розницу.

                <label class="checkbox-inline">
  <input type="checkbox" name= "checkbox" id="chk" onclick="ShowHideDiv(this)" value="">&nbsp;Buy 
Wholesale
</label>&nbsp;
<label class="checkbox-inline">
  <input type="checkbox" name = "checkbox" id="chk" onclick="ShowHideDiv1(this)" value="">&nbsp;Buy 
Retail
</label>
</div>

<div id="dvPass" style="display: none">
<input name="qty" size="10" type="number" id="txtNumber" value="<?php echo 
$single['pro_quantity_stock']?>" disabled />
</div>

<div id="dvPass1" style="display: none">
<input name="qty" size="10" type="number" id="txtNumber1" />
</div>

<a href="#" class="btn btn-info btn-normal" onclick="add_cart_func(<?= $single['id']?>, 
                                                                                        '<?= 
$single["pro_title"]?>', 
                                                                                        '<?= $price? 
>')">
                        <span class="glyphicon glyphicon-shopping-cart"></span> ADD TO CART
                    </a>

1 Ответ

0 голосов
/ 10 апреля 2020
let qty = $("input[name='qty']").val();

Вот проблема. Даже один из них скрыт, он все еще в DOM. Попробуйте что-то вроде следующего.

<script type="text/javascript">
var type = "txtNumber";
function ShowHideDiv(chk) {
    var dvPass = document.getElementById("dvPass");
    dvPass.style.display = chk.checked ? "block" : "none";
    type = "txtNumber";
}

    function ShowHideDiv1(chk) {
    var dvPass1 = document.getElementById("dvPass1");
    dvPass1.style.display = chk.checked ? "block" : "none";
    type = "txtNumber1";
}
</script>

и

let qty = $("#"+type).val();
...