填充下拉选择的下拉列表
问题描述:
如何填充选择多个下拉列表中的下拉列表。例如,我有以下下拉列表。 在选择第二个下拉列表时,我想填充第三个下拉列表单选项我该怎么做。 ? 我目前的代码如下。填充下拉选择的下拉列表
//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>';
}
}
}
答
只是使用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>';
}
}
}
无二样,你有第一个做的方式。获取当前选定的值,发出ajax请求,填充下一个下拉列表。没有任何区别。除非下拉菜单1稍后更改,否则您可能需要重置dropdown2和dropdown3,因为dropdown2中的值不会再出现以使下拉菜单3中的选项出现。这是你的方法中唯一需要改变的东西。很难看出为什么这会给你带来问题。你担心什么? – ADyson
P.S.你不需要两个单独的'document.ready'块。一个就足够了。你可以提示代码吗? – ADyson
? – TarangP