动态更新 JavaScript 和 PHP 中的选择元素选项
Dynamically update select element options in JavaScript and PHP
我在填充下拉列表时遇到问题。
我有一个下拉列表,用户从中选择分支,第二个下拉列表显示相关选项。
.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 数据库
如果将此示例集成到代码中,它应如下所示:
.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);
相关文章:
- WebdriverIO waitForExist()选择元素's选定的选项
- 如何选择元素的第n个子元素
- Angular没有根据模型更新我的选择元素
- jquery使用name from变量按类选择元素
- 如何使用jQuery按数据日期属性选择元素
- 向html选择元素添加选项
- 使用Jquery在相同类型的元素中选择元素
- 他们是如何使用angular/jqLite find()方法按属性名称和值选择元素的?ng conf 2015
- 如何在Angular中清除选择元素中的过滤器
- 使用其中一个元素作为参考点,从Javascript数组中选择元素
- Javascript选择元素到字符串的比较
- Angular始终选择选择元素中的第一个选项
- 使用 jquery .find() 遍历按类和存储属性选择元素
- 通过 id json, jquery 选择元素
- 如何基于另一个已经存在的选择器选择元素
- 禁用多个选择元素中的非“选定”选项,但使用 jquery 的一个除外
- HTML 选择元素的只读等效项
- 在iPad上,如何通过Javascript事件在选择元素上设置focus()而不显示选项
- 单击事件似乎不适用于 IE 中的选择元素
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载