Saad Masood Ответов: 0

Как удалить параметр данные который был выбран в предыдущем выпадающем списке из других выпадающих списков


Я сталкиваюсь с проблемой в зависимом выпадающем списке, когда я выбрал опцию выпадающего списка, некоторые продукты отображаются, и когда я выбираю другую опцию предыдущие опции также показывают, как разобраться в этой проблеме, я использую функцию empty() она может создать другую проблему, что если выпадающий список имеет один продукт в опции, продукт не может быть кликабельным, эта опция должна быть показана в моем выпадающем списке **<option>Select Processor</option>**, пустая функция может очистить все параметры из тега select.Как я могу решить эту проблему?

На приведенном ниже скриншоте, когда я выбираю **Intel Corei7 3-го поколения** опция 3 **RAMS** доступна, и когда я выбираю **Laser jet Printer** option, он должен показывать только 1 продукт, который я не могу показать мне четыре, предыдущие выпадающие данные также видны, но я не хочу предыдущего. Как я могу разобраться в этой проблеме.

Что я уже пробовал:

<tr class="category processor" data-value="processor">
                                        <td>
                                            <span>Processor</span>
                                        </td> 
                                        <td>
                                          <select name="processor" id="processor" style="min-width: 100%;" class="select processors" onchange="getPrice(event)">
                                            <option>Select Processor</option>
                                            <!-- <?php echo processor_brand($connect); ?> -->
                                          </select>
                                        </td>
                                        <!-- QUANTITY -->
                                        <td>
                                            <input type="number" min="0" name="email" class="quantity" oninput="setTotalPrice(event)"/>
                                        </td>
                                        <!-- per item price -->
                                        <td>
                                            <input type="text"  readonly class="unit-price" >
                                        </td>
                                        <!-- Total Price -->
                                        <td>
                                            <input type="text" readonly  class="total-price">
                                        </td>
                                    </tr>
                             
                                  
                                <!-- End Processor Section -->
        
        
                                <!-- Start Ram Section -->
                                      <tr class="category ram" data-value="ram">
                                        <td>
                                            <span>Ram</span>
                                        </td>
                                          <td>
                                            <select name="ram" id="rams" style="min-width: 100%;" class="select" onchange="getPriceRam(event)">
                                            <option>Select Ram</option>
                                              <!-- <?php echo ram_brand($connect); ?> -->
                                            </select>
                                          </td>
                                          <!-- QUANTITY -->
                                          <td>
                                              <input type="number" maxlength="6" min="0" min="10" name="email" class="quantity" oninput="setTotalPrice(event)"/>
                                          </td>
                                          <!-- per item price -->
                                          <br>
                                          <td>
                                              <input type="text"  readonly class="unit-price" >
                                          </td>
                                          <!-- Total Price -->
                                          <td>
                                              <input type="text" readonly  class="total-price">
                                          </td>
                                      </tr>
                                
                                <!-- End Ram Section -->


<script>
    $("#motherboard").change(function(){
                    var mid = $("#motherboard").val();
                    console.log(mid);
    				$.ajax({
                        url: 'processor_data.php',
                        method: 'post',
                        data: 'mid=' + mid
                    }).done(function(processors) {
                        console.log(processors);
                        processors = JSON.parse(processors);
                        // $('#processor').empty();
                        var htmll = '';
                        processors.forEach(function(processor) {
                            htmll += '<option value="' + processor.id + '">' + processor.product_title + '</option>';
                        })
                        $('#processor').append(htmll);
    
                    });
                })
                function getPriceRam(e){
                                        e.preventDefault();
                                        grandtotal();
                                        var id = $(e.target).val();
                                        // console.log(id);
                                        let parent = e.target.parentNode.parentNode;
                                        // console.log(parent);
                                        let category = parent.getAttribute("data-value");
                                        // console.log(category);
                                        $.ajax({
                                            url:"load_dataram.php",
                                            method:"POST",
                                            data:{id:id},
                                            success:function(data){
                                                // console.log(id);
                                                let unitPrice = parent.querySelector("input.unit-price");
                                                // console.log(unitPrice);
                                                unitPrice.value = data;
                                                $(parent).attr("data-id", id);
                                                $(parent).attr("data-quantity", 1);
                                                parent.querySelector("input.quantity").value = 1;
                                                parent.querySelector("input.total-price").value = +data * 1;
                                                grandtotal();
                                            }
                                        });
                                        }
    			$("#rams").change(function(){
    				var ramid = $("#rams").val();
    				// console.log(ramid);
                })
    
    
    $("#processor").change(function(){
    				var pid = $("#processor").val();
                    $.ajax({
                        url: 'data.php',
                        method: 'post',
                        data: 'pid=' + pid
                    }).done(function(data) {
                        console.log(data);
                        // var_dump(books);
                        //  $('#rams').empty();
                        data = JSON.parse(data);
                        // $('#rams').empty();
                        var html = '';
                        data.forEach(function(value) {
                            html += '<option value="' + value.id + '">' + value.product_title + '</option>';
                        })
                        $('#rams').append(html);
    
                    });
    			})
                function getPriceRam(e){
                                        e.preventDefault();
                                        grandtotal();
                                        var id = $(e.target).val();
                                        // console.log(id);
                                        let parent = e.target.parentNode.parentNode;
                                        // console.log(parent);
                                        let category = parent.getAttribute("data-value");
                                        // console.log(category);
                                        $.ajax({
                                            url:"load_dataram.php",
                                            method:"POST",
                                            data:{id:id},
                                            success:function(data){
                                                // console.log(id);
                                                let unitPrice = parent.querySelector("input.unit-price");
                                                // console.log(unitPrice);
                                                unitPrice.value = data;
                                                $(parent).attr("data-id", id);
                                                $(parent).attr("data-quantity", 1);
                                                parent.querySelector("input.quantity").value = 1;
                                                parent.querySelector("input.total-price").value = +data * 1;
                                                grandtotal();
                                            }
                                        });
                                        }
    			$("#rams").change(function(){
    				var ramid = $("#rams").val();
    				// console.log(ramid);
                })
    </script>

0 Ответов