Могу ли я что-то сделать вместо $ ("input: radio"). Change (function () {}, чтобы активировать AJAX при нажатии на определенный радиовход? - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть этот цикл, который перебирает мою таблицу базы данных tvshows, чтобы получить названия телешоу и вывести их на экран с радиовходом:

<div style="width: 200px;">

  <div>
    <?php

        $query = "SELECT distinct(title), (id) from tvshows";
        $featured = mysqli_query($conn,$query);

            while ($row = mysqli_fetch_assoc($featured)) { ?>

                 <div class="list-group-item checkbox" style="  background- 
                 color: #f4f4f4;">

                    <label ><input type="radio" name="re" 
                    class="common_selector collection" style="" value="<?php 
                    echo $row['title']; ?>" id='sale'>   <?php echo 
                    $row['title']; ?></label>
                </div>
                <?php
                }
                ?>
   </div>
</div> 

Вот AJAX:

 $("input:radio").change(function() {
            var product_id = $(this).attr('id');    
            var coll = $(this).attr('value'); 
            var action = "check";

      if ($(this).is(":checked")) {
            $.ajax({
                url:"../PHP_Scripts/fetch_data.php",
                method: "POST",
                dataType: "json",
                data:{
                    coll:coll, action:action, product_id:product_id
                },
                success:function(data){
                    $('#product_wrapper').html(data);
                    alert("success");

                }
          });
 });

Это $("input:radio").change(function() {}, это моя проблема.Подводя итог, почему эта проблема происходит: сценарий PHP_Scripts/fetch_data.php активируется каждый раз, когда изменяется радиовход.Его функция - выводить продукты, на основе которых выбрана кнопка-переключатель.Это проблема, потому что PHP_Scripts/fetch_data.php также содержит некоторый AJAX, который добавляет продукт в корзину, поэтому, когда изменяется радиовход, и вы пытаетесь добавить продукт в корзину, продукт добавляется в корзину столько же разкак вход был изменен.Поэтому, если вы проверяете радиовход 3 раза, а затем нажимаете кнопку, которая добавляет товар в корзину, он будет добавлен 3 раза.

Причина, по которой я не вставил каждую страницу, состоит в том, что проблема только в одномстрока: $("input:radio").change(function() {}.Кто-нибудь знает альтернативу, которую я могу использовать для активации AJAX, когда, скажем, проверен определенный вход?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...