2013-07-24 61 views
0

我只是習慣了jQuery和有一個下拉框,提示的onchange事件: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

你必須定義什麼是不工作。有沒有任何錯誤。控制檯說什麼? – DevZer0

+0

這只是一個建議,如果你反正使用jQuery,看看它的$ .ajax()函數,與本地xmlhttp相比,這是一件美麗的事情 – Dale

+0

什麼也沒有發生。只要我將附加參數添加到onchange請求中,即checkTeacherList(this.value,$ user_login),那麼該函數就不會被調用。我是否使用了不正確的語法或分隔符? – RGriffiths

回答

3

使用1個以上變量,獲得通過的時候,你必須添加一個&

url?var1=value1&var2=value2&var3=value3... 

而且你說你是使用jQuery,但對我來說,似乎你正在使用普通的javascript,如果你想使用jQuery和GET進行AJAX調用:

$.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錯誤。

+0

謝謝,但我的問題是,它與一個參數,但不是兩個。看到我的問題編輯。 – RGriffiths

+0

編輯我的答案。如果你想調試這個,我建議使用螢火蟲和追蹤控制檯上的任何JavaScript錯誤。 – Naryl

+0

這是完美的 - 作品一種享受。感謝您的幫助。 – RGriffiths

2

試試這個

xmlhttp.open("GET","http://localhost/iobserve/php/getTeachers.php?schoolName="+schoolName+"&departmentName="+str,true); 
+0

是的 - 我確實想念這個,但不幸的是這不是問題。第二個參數是由於某種原因停止運行的功能。謝謝 – RGriffiths

1

必須包括參數之間&,像

xmlhttp.open("GET","http://localhost/iobserve/php/getTeachers.php?schoolName="+schoolName+"&departmentName="+str,true); 
在這樣的調用部分編輯

然後,

checkTeacherList(this.value,<?php echo $user_login;?>); 
+0

謝謝,你是對的我錯過了這一點,但這並沒有解決問題。第二個參數是由於某種原因停止運行的功能。謝謝 – RGriffiths

+0

哦,這是正確的,我錯過了那個,+1 @ Gautam3164 .... –

2

嘗試這樣

checkTeacherList(this.value,<?php echo $user_login;?>); 

您需要回聲php變量。並嘗試在兩個vari之間放置'&'你正在發送像

xmlhttp.open("GET", 
"http://localhost/iobserve/php/getTeachers.php?schoolName="+schoolName+"&departmentName="+str,true); ...  
+0

是的 - 我明白了。我忘了&和 RGriffiths