填充下拉选择的下拉列表

问题描述:

如何填充选择多个下拉列表中的下拉列表。例如,我有以下下拉列表。 enter image description here 在选择第二个下拉列表时,我想填充第三个下拉列表单选项我该怎么做。 ? 我目前的代码如下。填充下拉选择的下拉列表

//CALL FOR SECOND DROPDOWN 
    $(document).ready(function(){ 
    $('#select4').on('change',function(){ 
     var subcatgoryId = $(this).val(); 
     console.log(subcatgoryId); 
     if(subcatgoryId){ 
      $.ajax({ 
       type:'POST', 
       url:'ajax_load_specification.php', 
       data:{subcatgoryId: subcatgoryId}, 
       success:function(html){ 
        alert(html); 
        //$('#select5').html(html); 
        //$('#loading1').css("display","none") 
       }, 
       error: function (jqXHR, exception) { 
        alert("Got Some Errore"); 
       } 
      }); 
     }else{ 
      $('#select5').html('<option value="">Select Category first</option>'); 
     } 
    }); 
    }); 

和PHP代码如下

if(isset($_POST["subcatgoryId"])) 
{ 
    $subcategory = explode(',', $_POST["subcatgoryId"]); 

    print_r($_POST["subcatgoryId"]); 
    foreach ($subcategory as $key => $value) 
    { 
     echo $key; 
     echo "<br>"; 
     $query1 = "SELECT * FROM m_subcategory WHERE id = ".$item." "; 
     $query1 = $conn->query($query1); 
     $query1 = $query1->fetch_object(); 

     if($query1){ 
      $id = $query1->id; 
      $name = $query1->name; 
      echo '<option value="'.$id.'">'.$name.'</option>'; 
     }else{ 
      echo '<option value="">We Get Empty Category</option>'; 
     } 
    } 
} 
+1

无二样,你有第一个做的方式。获取当前选定的值,发出ajax请求,填充下一个下拉列表。没有任何区别。除非下拉菜单1稍后更改,否则您可能需要重置dropdown2和dropdown3,因为dropdown2中的值不会再出现以使下拉菜单3中的选项出现。这是你的方法中唯一需要改变的东西。很难看出为什么这会给你带来问题。你担心什么? – ADyson

+0

P.S.你不需要两个单独的'document.ready'块。一个就足够了。你可以提示代码吗? – ADyson

+0

? – TarangP

只是使用For循环并开始工作

if(isset($_POST["subcatgoryId"])) 
{ 
    $subcategory = $_POST["subcatgoryId"]; 
    $len=count($subcategory); 

    for ($i=0; $i < $len; $i++) { 

     $query1 = "SELECT * FROM m_subcategory WHERE id = ".$subcategory[$i]." "; 
     $query1 = $conn->query($query1); 
     $query1 = $query1->fetch_object(); 

     if($query1){ 
      $id = $query1->id; 
      $name = $query1->name; 
      echo '<option value="'.$id.'">'.$name.'</option>'; 
     }else{ 
      echo '<option value="">We Get Empty Category</option>'; 
     } 
    } 

}