【发布时间】:2013-07-23 12:04:11
【问题描述】:
我有两个 SELECTS。两者都是通过 mysql 查询填充的。第二个需要在用户从第一个<SELECT> 中进行选择后填充。任何人都可以就如何最好地实现这一点提供一些指导吗?
附带说明一下,我可以通过将值发送到不同的页面并导致第二个 <SELECT> 弹出来使用 AJAX 来完成此操作,但问题是我不希望它在选项被选中,我只想让它填充。也许我可以改变我的 JS?
function showBus(selection_id)
{
if (selection_id=="")
{
document.getElementById("Bus_Opt").innerHTML="";
return;
}
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("Bus_Opt").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","/includes/adminPages/selectBusiness.inc.php?selection_id="+selection_id,true);
xmlhttp.send();
}
大家好,
感谢您的回复。一些快速的清晰度,我基本上只是希望我的两个选择框同时出现,即使第一个选择的值是“”。为此,我添加了此功能。
window.onload = function() {
document.Search.group.onchange()
};
document.your_form_name.your_select_id_name.onchange();
【问题讨论】:
-
两个 cmets:首先我会使用 jQuery 来处理 AJAX 和 DOM 操作(即api.jquery.com/jQuery.get),这更适合跨浏览器问题。其次不是很清楚你想要获得什么,也许你也可以发布你的标记以及 PHP 代码。
-
// code for IE6, IE5>_ -
尝试先不使用 AJAX,然后重新加载页面。这将是很好的经验和对事物的理解。
-
我的第一个选择是通过 mysql 查询填充的。我不确定如何使用 ajax 或 js 猜想中的第一个值来使用另一个 mysql 查询中第一个选择的值填充第二个选择。
-
如果数据量允许,我建议不要使用 AJAX,因为重复的 AJAX 调用会导致不必要的服务器负载。只需查询您的数据库一次,并将所有必要的数据作为 json 存储在 javascript 中,过滤它,并根据需要填充您的选择。这是我为类似问题所做的一种方法:stackoverflow.com/a/43730295/2943403
标签: php javascript ajax select