亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據另一個 <select> 的值在 <select> 中顯示數據

根據另一個 <select> 的值在 <select> 中顯示數據

PHP
瀟瀟雨雨 2022-06-17 16:18:28
我有一個帶有兩個下拉菜單的表單,我想要做的是在第一個下拉菜單中根據選擇的值選擇一個選項時創建一個 sql 查詢,該查詢調用值相等的所有行并顯示結果第二個下拉菜單。我的代碼    <form enctype = 'multipart/form-data' method = 'post' action = '' onChange='getManufacturer'>    <tr>        <td>Vehicle Manufacturer      <select name = 'Manufacturer' id='M' onchange = "getModels(this.value)">        <?php                foreach($Manufacturers as $m)        {?>          <option value = '<?php echo $m['Manufacturer'] ?>'> <?php echo $m['Manufacturer'] ?></option>        <?php        }        ?>                <option Onclick="new_manufacturer()"> + Add New </option>            </select>    </td>    </tr>    <tr>        <td>Vehicle Model            <select name = 'Model' id='MO'>                <option Onclick="new_model()"> + Add New </option>            </select>         </td>    </tr></form我一直在考慮使用 onchange 函數并通過 ajax 發送值來獲取我想要的值客戶端<script>function getModels(Manufacturer){    if(Manufacturer == "")    {        $.ajax({            url: 'getModels.php',            type: 'post',            data: {Manufacturer: Manufacturer},            //contentType: false,            success: function(data){                console.log(data);            }        });    }}服務器端<?phprequire('Vehicle_Type.php');if(isset($_POST['Manufacturer'])){    require('connection.php');    $sql = "SELECT Models FROM vehicles            WHERE Manufacturer = $_POST['Manufacturer']            GROUP BY Models    ";    $rs = $db->query($sql);    $db =null;  }    catch(PDOException $e){      die($e->getMessage());  }}?>我的問題是我不知道如何在第二個下拉菜單中顯示我檢索到的數據。
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

您需要做的第一件事是將查詢結果傳遞回一個函數,該函數將填充select頁面中的元素。不過,您的 PHP 代碼似乎沒有返回任何內容。


為了輕松地在頁面上填充您的元素,請返回一個簡單的數組。


while(($row =  mysqli_fetch_assoc($rs))) {

        $Myarray[] = $row['Models'];

    }

}


echo json_encode($Myarray);

此外,更改success為運行pop_select下面的函數(或您喜歡的任何名稱)。


$.ajax({

            url: 'getModels.php',

            type: 'post',

            data: {Manufacturer: Manufacturer},

            //contentType: false,

            success: function(data) {

                    myarray = JSON.parse(data);

                    pop_select(myarray);

            }

以下是使用調用結果填充select元素的方式:


function pop_select(Myarray) {

var select = document.getElementById("Model");


for(i = 0; i < Myarray.length; i++) {

    var opt = Myarray[i];

    var el = document.createElement("option");

    el.textContent = opt;

    el.value = opt;

    select.appendChild(el);

 }

}


查看完整回答
反對 回復 2022-06-17
  • 1 回答
  • 0 關注
  • 159 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號