Ajax中实现DropDownList联动但是取不到DropDownList2联动以后的值
操作过程:通过DropDownList1的onchange 将DropDownList1的值传递给XmlPost(obj)函数, 该函数通过XHR从.cs文件中获取要赋给DropDownList2的值,该值是通过DDlInfoBind(string TID)
获得的,然后在函数XmlPost(obj)中将该值赋给DropDownList2
问题来了: 我已经把值赋给DropDownList2了,但是为什么我有Button_Click事件的时候获得DropDownList2的值是在没有联动以前的值,比如,联动以前的值为空( " "),点击Button后返回的值也是空而不是联动以后赋给DropDownList2的选定的值~~~
哪位大虾帮帮忙,小弟在这里谢谢啦~~~~
代码如下~~~~
Script代码:
<SCRIPT LANGUAGE= "JavaScript ">
<!--
//以XML求取数据
function XmlPost(obj)
{
var svalue = obj.value;
//alert(svalue);
if(svalue== "请选择 ")
{
document.all( "ddlInfo ").length=0;
}
else
{
var webFileUrl = "WebForm4.aspx?TypeID= " + svalue;
var result = " ";
var xmlHttp = new ActiveXObject( "MSXML2.XMLHTTP ");
xmlHttp.open( "POST ", webFileUrl, false);//使用XMLPOST方式
xmlHttp.send( " ");//发送
result = xmlHttp.responseText;//得到返回的结果
if(result != " ")
{
document.all( "ddlInfo ").length=0;//清空原来存在的
var piArray = result.split( ", ");
for(var i=0;i <piArray.length;i++)
{
var ary1 = piArray[i].toString().split( "| ");
document.all( "ddlInfo ").options.add(new Option(ary1[0].toString(),ary1[1].toString()));
}
}
else
{
alert(result);
}
}
}
.cs代码如下:
private void DDlInfoBind(string TID)
{
SqlConnection con = db.ReturnConn2();
string Mystr = " ";
string bigName=TID;
// SqlDataReader dr=CDG.GetTypeInfo(TypeID);//此处用了数据访问层的代码,如要运行,必须自己写方法
// DataTable MyTab =Tools.ConvertDataReaderToDataTable(dr);
string aa= "select * from info_fenlei where bigName= ' "+bigName+ " ' ";
SqlDataAdapter da = new SqlDataAdapter(aa,con);
DataSet ds = new DataSet();
da.Fill(ds);