簡體   English   中英

根據第一個選擇框選項填充第二個選擇框

[英]Populating a second select box depending of the first select box option

我有這個選擇,讓我們稱之為“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'");

根據第一個選擇的選擇,$ brand將有一個值。

謝謝

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>
?>

希望它能奏效。 請告訴我您是否需要任何東西。

一起使用ajax和change事件,

方法:1-建立一個頁面,您可以在其中發布查詢。 2-該頁面應對查詢做出反應並發送帶有所需選項列表的響應。 例如:

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應該收到它並填寫完整的文件。

如果您需要更多詳細信息,我們將很樂意提供

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM