Dropdown list 1:
<select name="ddlArea" onchange="showState(this.value)">
Dropdown list 2:
<select name="ddlFType" onchange="showState(this.value)">
我想在showState
函数中获取两个下拉列表的选定值。我想调用相同的函数,因为ajax请求将在不同页面上处理,这需要参数Area
和FType
。
功能:
function showState()
{
var area_value = document.getElementById("ddlArea").value;
var ftype= document.getElementById("ddlFType").value;
if(document.getElementById("ddlFlat").value!="-1" )
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="vacant_do.jsp"
url=url+"?area_id="+area_value+"ftype"+ftype
xmlHttp.onreadystatechange=stateChange
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
else
{
alert("Please Select Area Name");
}
}
function stateChange()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState==200)
{
document.getElementById("ddlFlat").innerHTML=xmlHttp.responseText
}
}
答案 0 :(得分:0)
由于您只是尝试使用2个参数调用AJAX查询,因此我不会通过onChange推送值。
Combo -Box 1:-
<select name="ddlArea" id="ddlArea" onchange="showState()">
Combo -Box 2:-
<select name="ddlFType" id="ddlFType" onchange="showState()">
然后:
function showState() {
var area = document.getElementById('ddlArea').value;
var fType= document.getElementById('ddlFType').value;
....invokeAJAX request....
}
你可以通过某种原型/闭包方法来做到这一点,但实际上,你已经知道从哪里获取信息了,而且它不会在页面上改变