ajax的技术已经被大家用的再熟不过了,我今天也找了个例子试了一下,就是常见的省、市、县三级联动的下拉列表,特在此记下。
我的思路是在.CS里写一个AJAX的方法,返回一个XML的字符串数据,在javascript里
再进行绑定
AJAX方法.
根据省份得到城市
//得到城市,AJAX
function GetChengShi_AJAX(drp)
{
//选中的值(省)
var strS=window.Form1.drp_AS.value;
//如果市有值则清空
var objList = document.getElementById("drp_AC");
if (objList.options.length !=0)
{
for (var iDel=0;iDel<objList.options.length;iDel++)
{
objList.options[iDel]=null ;
objList.options.remove(iDel);
iDel--;
}
}
//增加一空列
objList.add(document.createElement("OPTION"));
objList.options[0].text = "";
objList.options[0].value = "";
var xmlData = new ActiveXObject("Msxml.DOMDocument");
xmlData.async = false
//调用AJAX,返回一个格式化的xml字符串
var vstr=ajaxDataGrid.GetChengShi(strS).value;
xmlData.loadXML(vstr);
var xmlObj = xmlData.documentElement;
var ss_id,ss_name;
for (var i=0;i<xmlObj.childNodes.length;i++)
{
ss_id=xmlObj.childNodes(i).childNodes(0).text;
//ss_name=xmlObj.childNodes(i).childNodes(1).text;
//获取数据节点2;
objList.add(document.createElement("OPTION"));
objList.options[i+1].text=ss_id;
objList.options[i+1].value=ss_id;
}
}
function GetChengShi_AJAX(drp)
{
//选中的值(省)
var strS=window.Form1.drp_AS.value;
//如果市有值则清空
var objList = document.getElementById("drp_AC");
if (objList.options.length !=0)
{
for (var iDel=0;iDel<objList.options.length;iDel++)
{
objList.options[iDel]=null ;
objList.options.remove(iDel);
iDel--;
}
}
//增加一空列
objList.add(document.createElement("OPTION"));
objList.options[0].text = "";
objList.options[0].value = "";
var xmlData = new ActiveXObject("Msxml.DOMDocument");
xmlData.async = false
//调用AJAX,返回一个格式化的xml字符串
var vstr=ajaxDataGrid.GetChengShi(strS).value;
xmlData.loadXML(vstr);
var xmlObj = xmlData.documentElement;
var ss_id,ss_name;
for (var i=0;i<xmlObj.childNodes.length;i++)
{
ss_id=xmlObj.childNodes(i).childNodes(0).text;
//ss_name=xmlObj.childNodes(i).childNodes(1).text;
//获取数据节点2;
objList.add(document.createElement("OPTION"));
objList.options[i+1].text=ss_id;
objList.options[i+1].value=ss_id;
}
}
<SELECT id="drp_AS" onchange="GetChengShi_AJAX(this);" name="Select1" runat="server">
<OPTION value="广东" selected>广东</OPTION>
<OPTION value="湖北">湖北</OPTION>
<OPTION value="湖南">湖南</OPTION>
<OPTION value=""></OPTION>
</SELECT><SELECT id="drp_AC" name="Select2" runat="server">
<OPTION selected></OPTION>
</SELECT>
<OPTION value="广东" selected>广东</OPTION>
<OPTION value="湖北">湖北</OPTION>
<OPTION value="湖南">湖南</OPTION>
<OPTION value=""></OPTION>
</SELECT><SELECT id="drp_AC" name="Select2" runat="server">
<OPTION selected></OPTION>
</SELECT>