我有一个下拉菜单、
<select name="course">
<option value="1">1</option>
<option value="1">1</option>
</select>当这个下拉菜单选择了某个值以后,在另外一个下拉菜单自动生成想对应的值。比如选择了课程(course)1,则在时间(time)的下拉菜单中显示出该课程的时间(多个用foreach遍历传过来的数组$data['time'])<select name="time">
<option value="1">2</option>//value的值可以返回但是我不知道这里的 2 要怎么做出来?或者说这种思路不对?
</select>
ajax代码如下:
function move(value)
{
var xmlHttp;
var course="course="+value;try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{ // Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{ try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
xmlHttp.open("POST","../../../systemfilter/Return.php",true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.form1.time.value=xmlHttp.responseText;
}
} xmlHttp.send(course);
}
</script> 后台Return.php是一个sql查询语句 $sql=mysql_query("select time from exam_course where course='".$_POST['course']."'");
$data=mysql_fetch_array($sql);
<select name="course">
<option value="1">1</option>
<option value="1">1</option>
</select>当这个下拉菜单选择了某个值以后,在另外一个下拉菜单自动生成想对应的值。比如选择了课程(course)1,则在时间(time)的下拉菜单中显示出该课程的时间(多个用foreach遍历传过来的数组$data['time'])<select name="time">
<option value="1">2</option>//value的值可以返回但是我不知道这里的 2 要怎么做出来?或者说这种思路不对?
</select>
ajax代码如下:
function move(value)
{
var xmlHttp;
var course="course="+value;try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{ // Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{ try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
xmlHttp.open("POST","../../../systemfilter/Return.php",true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.form1.time.value=xmlHttp.responseText;
}
} xmlHttp.send(course);
}
</script> 后台Return.php是一个sql查询语句 $sql=mysql_query("select time from exam_course where course='".$_POST['course']."'");
$data=mysql_fetch_array($sql);
$(function(){
$('#course').change(function(){
var url=time.php';
var date='ac=change&val='+$(this).val();
$.post(url,date,function(date){
$('#menu').html(date);
})
})
})
</script>
<select name="course" id="course">
<option value="1">1</option>
<option value="2">2</option>
</select><div id="menu">
<select name="time" id="time">
<option value="">==请选择时间==</option>
</select>
</div>然后在time.phpif(isset($_POST['ac']) && $_POST['ac']=='change'){
$val=$_POST['id'];
$sql="select * from `time` where `value`=".$val;
$res=$db->getAll($sql);
echo "<select name=\"time\" id=\"time\">\n<option value=''>==请选择二级分类==</option>";
foreach($res as $k=>$v){
echo "<option value=".$v['id'].">".$v['time']."</option>"; }
echo "</select>";
}