我只是习惯了jquery,并且有一个提示onchange
事件的下拉框:
<select name="department_list" id="department_list" onchange="checkTeacherList(this.value);" >
这很好,调用的AJAX
命令是:
function checkTeacherList(str)
{
...
xmlhttp.open("GET","http://localhost/iobserve/php/getTeachers.php?departmentName="+str,true);
...
}
但是我也想使用$user_login
变量:
<select name="department_list" id="department_list" onchange="checkTeacherList(this.value,$user_login );" >
并且AJAX
命令是:
function checkTeacherList(str, schoolName)
{
...
xmlhttp.open("GET","http://localhost/iobserve/php/getTeachers.php?schoolName="+schoolName+"&departmentName="+str,true); ...
}
但这似乎不起作用。我做错了什么?
编辑:
问题是,只要我从函数调用中添加第二个参数:
onchange="checkTeacherList(var1);"
到
onchange="checkTeacherList(var1, var2);"
不调用该函数。使用逗号作为分隔符时语法是否错误?
答案 0 :(得分:3)
当使用GET传递的多个变量时,您必须添加&
:
url?var1=value1&var2=value2&var3=value3...
另外你说你正在使用jquery,但对我来说,如果你想使用jquery和GET进行AJAX调用,你似乎正在使用普通的javascript:
$.get("url", {var1: value1, var2: value2}, function(data){
//do something when the AJAX call finishes,
//the var data contains anything echoed by the script called.
});
编辑:关注你的问题。
onchange="checkTeacherList(this.value, '<?php echo $user_login;?>');"
如果你在HTML脚本中使用PHP变量,你必须回应它,你也必须使用'
,否则会导致javascript错误。
答案 1 :(得分:2)
试试这个
xmlhttp.open("GET","http://localhost/iobserve/php/getTeachers.php?schoolName="+schoolName+"&departmentName="+str,true);
答案 2 :(得分:2)
试试这个
checkTeacherList(this.value,<?php echo $user_login;?> );
你需要回显php变量。并尝试放入'&amp;'在你发送的两个变量之间
xmlhttp.open("GET",
"http://localhost/iobserve/php/getTeachers.php?schoolName="+schoolName+"&departmentName="+str,true); ...
答案 3 :(得分:1)
您必须在参数之间加入&
,例如
xmlhttp.open("GET","http://localhost/iobserve/php/getTeachers.php?schoolName="+schoolName+"&departmentName="+str,true);
然后在调用部分编辑,像这样,
checkTeacherList(this.value,<?php echo $user_login;?> );