根据第一个选择框选项填充第二个选择框

Dar*_*kkz 2 php tags select auto-populate drop-down-menu

我有这个选择,让我们称之为"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>
Run Code Online (Sandbox Code Playgroud)

现在我必须填充第二个选择,称为"Y",其中包含所选品牌的特定模型.

例如,如果在第一个选择框(X)中选择的选项是奥迪,我应该在第二个选择(Y)中选择以下选项:A4,A6,TT,TTs

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

$row = mysqli_query("SELECT modelName from modele WHERE brandName = '$brand'");
Run Code Online (Sandbox Code Playgroud)

根据第一个选择的选择,$ brand将有一个值.

谢谢

ABo*_*rty 7

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>
?>
Run Code Online (Sandbox Code Playgroud)

希望它能奏效.如果您需要什么,请告诉我.