![](/img/trans.png)
[英]How to change the sql order value with select option using php and jquery
[英]Updating select/option elements value using AJAX/PHP/SQL
小背景
我有两个动态的select / option下拉列表,它使用sql查询从PHP中回显。
如果选择了第一个保管箱,则第二个保管箱将包含与第一个保管箱相关的信息,例如第一个保管箱(控制台),第二个保管箱(ps4 / xbox一个)等。所有这些信息都存储到数据库中。
如果用户选择第一个保管箱,则javascript / AJAX将该信息发送到PHP /服务器,然后在PHP中,我创建一个sql查询并回显第二个保管箱的所有可用选择/选项。
但是,我有点困惑,因为我不确定这是否是实现标签的正确方法。
选项字段上没有任何显示。
更新,
第一个Drop框运行良好,问题是第二个Dropbox,其ID为sub_cat。
Javascript AJAX:
function subCatActivation(i) {
var selectedBox = document.getElementById("Cat" + i);
var val = selectedBox.options[selectedBox.selectedIndex].value;
var hr = new XMLHttpRequest();
var url = "parse_receive_select.php";
hr.open("POST", url, true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlendcoded");
hr.onreadystatechange = function () {
if (hr.readyState == 4 && hr.status == 200) {
var return_data = hr.responseText;
document.getElementById("opt").innerHTML = return_data;
}
}
hr.send(val);
}
的HTML
<select name="Cat" id="Cat" onchange="subCatActivation('')" onclick="realTimeChange(this.id)">
<option value="title">Main Category</op
<?php echo $option?>
</select>
<select name="sub_cat" id="sub_cat">
<option value="Non-Use">Sub-Category</option>
<div id="opt"></div>
</select>
的PHP
if(isset($_POST['val'])){
$mainCat = $_POST['val'];
$subOption = '';
$subName = [];
include"../storeSQL/sql_Connection.php";
$sql = "SELECT SUB_CAT FROM CATEGORIES WHERE CAT = '$mainCat' GROUP BY SUB_CAT";
$getQuery = $connection->query($sql);
$i = 0;
while($row = $getQuery->fetch_array()){
$subName[$i] = $row['SUB_CAT'];
$subOption .= "<option value='$subName[$i]'>$subName[$i]</option>";
$i++;
}
echo $subOption;
}
在send
功能中使用键值对
hr.send("val="+val);
现在使用sub_cat
附加option
标签
document.getElementById("sub_cat").innerHTML = return_data;
然后在return_data之前添加第一个选项
由于您未在此处发送任何密钥,因此以下代码将始终失败,并且不会进入if块
if(isset($_POST['val'])){
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.