簡體   English   中英

使用PHP的下拉列表中的第二個下拉列表

[英]Second drop down list from drop down list using PHP

我正在創建一個使用選項名稱的下拉列表(不同的汽車)。 我想添加第二個下拉列表,該列表使用第一個下拉列表中的id來創建每輛車不同型號的下拉列表。

如果可能的話,我想只使用PHP,我相信是的。 這是我的第一個下拉列表的代碼。

function get_vehicle() {
    global $db;
    $query = $db->prepare("SELECT idmanufacturer, name FROM manufacturer");
    $query->execute();
    $vehicles = $query->fetchAll();

    if(isset($vehicles)) {
        echo "<label>Vehicle:</label>";
        echo "<select name='vehicle'>";
    foreach ($vehicles as $vehicle){
            echo '<option value="'.$vehicle['name'].'">'.$vehicle['name'].'</option>';
            }echo "</select>";
        echo "<br />";
    }
 }

為此,您需要創建一個ajax函數,在更改第一個下拉列表時將其值傳遞給ajax請求到任何其他頁面,並通過其id查找所有汽車型號並在第二個下拉列表中顯示它。 這是一個示例:-//文件名First.php

function get_vehicle() {

    global $db;

    $query = $db->prepare("SELECT idmanufacturer, name FROM manufacturer");

    $query->execute();
    $vehicles = $query->fetchAll();
    if(isset($vehicles)) {
        echo "<label>Vehicle:</label>";
        echo "<select name='vehicle' onselect="call_models(this)">";
    foreach ($vehicles as $vehicle){
            echo '<option value="'.$vehicle['id'].'">'.$vehicle['name'].'</option>';
            }echo "</select>";
        echo "<br />";
    }
 }

//這將打印第一個選擇框

 get_vehicle() ; 

/ *這是默認情況下的第二個下拉列表,它將被禁用

<select name="cardmodels" id="models" disabled>
<option></option>
</select>

/ *************添加Ajax函數************ /

<script type="text/javascript">

/***********  This function will get the value of first dropdown and will pass the value to the second.php where we will create function to retrieve all models of selected class after fetching this we will return all options of second class. After fetching this we will assign to the second dropdown.

***************/

    function call_models(cnt)
    {
    var model= $(cnt).val();    
    if(models)  {
    $.ajax({
    type: "POST",
    url: "Second.php",
    data: {model:model_car}
    })
    .done(function(responce) {
    if(responce!="Not_found") {
    $('#models').removeAttr( "disabled" );
    $('#models').html(responce);
    }
    });
    }
    }

</script>

/ ************** Second .php ********* / //文件名First.php

    function get_models($id) {

        global $db;

        $query = $db->prepare("SELECT model_name FROM car_models where car_id ='".$id."' ");

        $query->execute();
        $models= $query->fetchAll();

        if($models) {

        foreach ($models as $model){
                echo '<option value="'.$model['name'].'">'.$model['name'].'</option>';
                }
        }
     }


if($_POST) {


get_models($_POST['model']);


} else {


echo "Not_found";

}

?>

暫無
暫無

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

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