javascript - 动态更新 JavaScript 和 PHP 中的选择元素选项

标签 javascript php drop-down-menu html-select

我在填充下拉列表时遇到问题。

我有一个下拉菜单供用户选择分支,还有一个显示相关选项的下拉菜单。

HTML

<select id="first-choice" onchange="leaveChange()">
    <option selected value="base">Please Select</option>
    <option value="CSE">CSE</option>
    <option value="ECE">ECE</option>
    <option value="EEE">EEE</option>
    <option value="MECH">MECH</option>
</select>
<br>
<select id="second-choice">
    <option>Please choose from above</option>
</select>

JS

function leaveChange(){
    //what to insert here;
}

PHP

$branch=$_GET['branch'];
$username = "jaggu";
$password = "8374";
$hostname = "localhost";

$dbhandle = mysqli_connect($hostname, $username, $password) or die("Unable to connect to MySQL");
$selected = mysqli_select_db($dbhandle,"test") or die("Could not select examples");

$query = "SELECT * FROM `register` WHERE classid LIKE '%".$branch."%'";

$result = mysqli_query($dbhandle,$query);
    $row = mysqli_fetch_object($result);
    $query1="SELECT * FROM `examdup` WHERE `classid` LIKE '%".$branch."%'";
$result1= mysqli_query($dbhandle,$query1);  

while ($row1= mysqli_fetch_object($result1)) {
    echo '<option value="'.$row1->month_year.'">'. $row1->title.'</option>';
}

最佳答案

这是您问题的完美答案:W3Schools AJAX PHP Database

如果将此示例集成到您的代码中,它应该如下所示:

HTML

<select id="first-choice" onchange="leaveChange(this.value)">
    <option selected value="">Please Select</option>
    <option value="CSE">CSE</option>
    <option value="ECE">ECE</option>
    <option value="EEE">EEE</option>
    <option value="MECH">MECH</option>
</select>
<br>
<select id="second-choice">
    <option>Please choose from above</option>
</select>

JS

function leaveChange(branch){
        if (branch == "") {
            document.getElementById("second-choice").innerHTML = "<option>Please choose from above</option>";
            return;
        } else { 
            if (window.XMLHttpRequest) {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else {
                // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("second-choice").innerHTML = xmlhttp.responseText;
                }
            };
            xmlhttp.open("GET","test.php?branch="+branch,true);
            xmlhttp.send();
        }
    }

您应该在这一行将文件 test.php 的名称替换为您的名称: xmlhttp.open("GET","test.php?branch="+branch,true);

关于javascript - 动态更新 JavaScript 和 PHP 中的选择元素选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35593981/

相关文章:

java - 没有为 LoginRequest 调用 responseListener (Android) (Java) (php)

CSS 菜单向下滑动

css - Flexbox 选项卡式菜单 : right side dropdown cut off screen

javascript - HTML/CSS 动画 - JavaScript

javascript - d3.json : "Uncaught TypeError: Cannot read property ' children' of undefined"

javascript - Javascript 中 document.innerHTML 的自闭标签问题

javascript - 更改方向时无法清除间隔或超时

php - 在 apache 上将不同的网站分配给不同的网络

php - 如何使用 php-url 路径在 Magento CMS 页面中加载图像背景?

php - 选择框 : how to populate years php