mrbagfreeman
@mrbagfreeman
Начинающий быдло кодер

Не меняются значения value в php массиве. Как пофиксить?

Есть такой вид:
<?php if (!empty($products)):?>
                 <?php foreach ($products as $product):?>
                    <div class="col-xl-4">

                        <div class="dishes-item">
                            <img src="/img/products/no-foto.png" alt="3">
                            <h4><?= $product->name?></h4>
                            <p><?= $product->description?></p>
                            <div class="dishes-item-details">
                                <span class="weight"><span class="weight-size"><?= $product->weight?></span> гр</span> <span class="sum"><?= $product->price?> руб.</span>
                            </div>
                            <div class="dishes-item-counter">
                                Кол/во <input type="text" value="1" id="qty" data-id="<?= $product->id?>" class="dishes-item-counter-field" />
                                <a class="add_to_cart"  data-id="<?= $product->id?>"   href="<?= \yii\helpers\Url::to(['cart/add', 'id' => $product->id])?>"><button  class="btn btn-choose">Добавить</button></a>
                            </div>
                        </div>
                    </div>
                    <?php endforeach;?>
                    <?php else:?>
                    <h2>Здесь товаров пока нет</h2>
                   <?php endif;?>


Скрипт к нему:
$('.add_to_cart').on('click',  function (e) {
            e.preventDefault();
            var id = $(this).data('id'), qty = $('#qty').val();
            console.log(qty)
              $.ajax({
               url: '/cart/add',
               data: {id: id, qty: qty},
               type: 'GET',
               success: function(res){
               	if(!res) alert(ошибка);
               	 
                  showCart(res);
               },
             error: function(){
                   alert('Ошибка');
              }
           });
        });


Мне нужно методом get получить значение value в поле input.
За массивом данное поле принимает все входящие значения, в массиве выдает значение 1, не смотря на введенные данные.
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
@mc21
Много id - это ошибка, считается только первый инпут и не всегда корректно.
Переписать на выборку типа $(this).closest('.dishes-item').find('input').val()
Если не поможет, нужен код Бэка.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
lamer350
@lamer350
กำลังสูงสุด
Если я все правильно понял, то вам в беке:
<input type="text" value="1" id="qty" data-id="<?= $product->id?>" class="dishes-item-counter-field" />

Нужно в value="1" входящие данные закидывать вместо 1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы