首页 > 解决方案 > 当我从下拉列表中选择选项时,隐藏的下拉列表不可见

问题描述

当我从下拉列表中选择选项 Ram 时,我遇到了这个问题,隐藏的下拉列表应该是可见的。基本上,当我选择 ram 处理器时,我将数据添加到数据库中,下拉列表应该是可见的,否则它应该被隐藏,另一方面,当我选择处理器时,主板的隐藏下拉列表应该是可见的,否则它应该被隐藏,我试过了有很多方法,但没有一个下拉可见,我选择 ram 或处理器

 <!-- Category -->
<label for="exampleInputCategory">Category</label>
<div class="form-group">
       <select class="form-control" required name="category" onchange="showDiv(this)">
            <option value="">Select Category</option>
                 <?php
                     $query = "SELECT * FROM category";
                     $run = mysqli_query($conn, $query);
                     while ($row = mysqli_fetch_array($run)) {
                         $CategoryName = $row["name"];
                 ?>
             <option value="<?php echo $CategoryName ?>"><?php echo $CategoryName ?></option>
                  <?php }?>
        </select>
</div>
<!-- processor for ram -->
<!-- <div style="display:none"> -->
<div class="form-group" id="pfr" hidden>
      <label for="exampleInputCategory">Select Processor for Ram</label>
      <select class="form-control" name="porid">
           <option value="">Select Processor</option>
           <?php
                $queryy = "SELECT * FROM products WHERE category='Processor' AND status='Active'";
                $runn = mysqli_query($conn, $queryy);
                 while ($roww = mysqli_fetch_array($runn)) {
                           $ProcessorTitle   = $roww["product_title"];
                           $ProcessorID      = $roww["id"];
                           // var_dump($Processorid);
                           ?>
            <option value="<?php echo $ProcessorID ?>"><?php echo $ProcessorTitle ?></option>
                    <?php }?>
     </select>
</div>
<!-- End Processor for ram -->

<!-- Motherboard for Processor -->
<!-- <div style="display:none"> -->


<div class="form-group" id="mfp" hidden>
                        <label for="exampleInputCategory">Select Motherboard for Processor</label>
                      <select class="form-control" name="mopid">
                        <option value="">Select Motherboard</option>
                        <?php
                            $queryyy = "SELECT * FROM products WHERE category='Motherboard' status='Active'";
                            $runnn = mysqli_query($conn, $queryyy);
                            while ($rowww = mysqli_fetch_array($runnn)) {
                              $MotherboardTitle   = $rowww["product_title"];
                              $MotherboardID      = $rowww["id"];
                              // var_dump($Processorid);
                              ?>
                            <option value="<?php echo $MotherboardID ?>"><?php echo $MotherboardTitle ?></option>
                            <?php }?>
                          </select>
                        </div>
                    <!-- End Motherboard for Processor -->

<script type="text/javascript">
function showDiv(select){
   if(select.value=="Ram"){
    document.getElementById('pfr').style.display = "block";
   }
   elseif(select.value=="Processor") {
    document.getElementById('mfp').style.display = "block";
   }
    else{
    document.getElementById('pfr').style.display = "none";
    document.getElementById('mfp').style.display = "none";
   }
} 
</script>

标签: javascriptphp

解决方案


你有一个错字。

更改 elseif(select.value=="Processor")else if(select.value=="Processor")


推荐阅读