急救!三级联动下拉列表框取不到第二个和第三个框的值,而且第一次加载时选取第一个框的时候还要停顿十秒钟!
如题!采用 if (DropDownList2.SelectedItem.Text!="请选择")
{
shi=" and city like '%"+DropDownList2.SelectedItem.Text +"%'";
}
方式取不到第二个和第三个框的文本值,而且第一次加载时选取第一个框的时候还要停顿十秒钟!
前台代码:
<script language="javascript">
<!--
//以XML求取数据
//参数:
//obj,当前动作的下拉框
//fullName:要填充的下拉框
function XmlPost(obj,fullName,sType)
{
//求取当前下拉框的值
var svalue = obj.value;
var mytopname = "";
if(sType == "1")
{
mytopname = "请选择";
}
else if(sType == "2")
{
mytopname = "请选择";
}
else
{
mytopname = "请选择";
}
//定义要填充的对象
var fullObj = document.all(fullName);
//定义取值地址
var webFileUrl = "?s1=" + svalue + "&s2=" + sType;
//定义返回值
var result = "";
//开始取值过程
var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
xmlHttp.open("POST", webFileUrl, false);
xmlHttp.send("");
result = xmlHttp.responseText;
//如果有取到值,则根据格式进行拆分
//注意如果选择了第一行"请选择"空行时,是取不到值的,因此多加了一个条件
if(result != "" && svalue != "")
{
//先清空原有的值
fullObj.length=0;
fullObj.options.add(new Option(mytopname,""));
//拆分值成数组
var piArray = result.split(",");
//循环数组
for(var i=0;i<piArray.length;i++)
{
//再拆分成ID及名称
var ary1 = piArray[i].toString().split("|");
//逐一添加项
fullObj.options.add(new Option(ary1[1].toString(),ary1[0].toString()));
}
}
else
{
//如果没有取到值,则清空要填充的下拉框的值
fullObj.length = 0;
fullObj.options.add(new Option(mytopname,""));
}
//如果是选择了第一个下拉框,此时应清空第三个下拉框内容
if(sType == "1")
{
document.all("DropDownList3").length = 0;
document.all("DropDownList3").options.add(new Option(mytopname,""));
}
}
-->
</script>