2013-06-12 198 views
2

我有这个选择,我们称之为“X”,即通过SELECT从汽车品牌作为选项从数据库中选择。根据第一个选择框选项填充第二个选择框

<select name="X"> 
<?php 
$row = mysqli_query("SELECT * FROM brands"); 
while($row2 = mysqli_fetch_array($row)) 
echo '<option value="' . $row2['brandID'] . '">' . $row2['brandName'] . '</option> 
?> 
</select> 

现在我必须填写第二个选择,被称为“Y”,与所选品牌的具体型号。

例如,如果这是在第一个选择框(X)选择的选项是奥迪我应该有作为第二选择(Y)选择以下几点:A4,A6,TT,TTS

要填充第二个选择框手动很简单,基本上与第一个选择框不同的SQL请求相同。

$row = mysqli_query("SELECT modelName from modele WHERE brandName = '$brand'"); 

其中$品牌根据第一个选择的选择会有一个值。

感谢

+1

搜索'ajax'并且走了。 – Rikesh

回答

6
Put an id in your <select name="X"> code like <select name="X" id ="X"> 

Put another select like <select name="Y" id="Y">. Which will be blank. 

put this jquery in your page. 

$("X").on("change",function(){ 
    var x_value=$("X").val(); 
    $.ajax({ 
     url:'ajax.php', 
     data:{brand:x_value}, 
     type: 'post', 
     success : function(resp){ 
      $("#Y").html(resp);    
     }, 
     error : function(resp){} 
    }); 
}); 

in your ajax.php add the query. 

<?php 
$row = mysqli_query("SELECT modelName from modele WHERE brandName =".$_POST['brand']); 
while($row2 = mysqli_fetch_array($row)) 
    echo '<option value="' . $row2['modelId'] . '">' . $row2['modelName'] . '</option> 
?> 

希望它会工作。请告诉我你是否需要任何东西。

+0

嗯,你确定这是正确的 - brandName =“。$ _ POST ['brand']);?不应该是”。$ _ POST ['X']“);? – Darkkz

+0

SQLs都是正确的,但它仍然不填充第二个选择 – Darkkz

+0

没关系,我设法让它工作:) $(“X”)。on(“change”,function(){var x_value = $(“X”)。 VAL(); 与 $( “#X”)所取代改变(函数(){ VAR X_VALUE = $( “#X”)VAL();! 非常感谢队友,欢呼声 – Darkkz

0

使用AJAX和改变事件一起,

方法: 1-构建您发布您的查询的页面。该页面应该对查询作出反应并发送一个响应,并带有期望的选项列表。 例如:

if ($_POST["vehicle"] == car) // send response with array of car names as json obj for example 
else // send response with array of motorbikes names 

你的Ajax应该接受它,并填充上完成的申请。

如果您需要更多的细节,我会很乐意为其提供

相关问题