亲,我在ASPX里面用下面的方法写了个动态显示下拉框。。但是后面无论是用后台的control还是htmlselect调用的时候怎么
都找不到,我也用过JS的document.getElementById找,但是还是找不到。。。。。。好像没有这些下拉框似得,但是源代码上面是有相关的信息的。弄了好些都要疯了,求各位亲帮忙~~~不胜感激~
#region 显示模板
public void ShowBox()
{
xtr = new XmlTextReader(xmlPath);
try
{
System.Web.HttpContext.Current.Response.Write("<script src='JS2.js'></script>");
while (xtr.Read())
{
//保存cookies
int y = num2;
[align=left]
HttpCookie Cookie = new HttpCookie("id");
Cookie.Value = y.ToString();
System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
System.Web.HttpContext.Current.Response.Write("<form id=\"form2\"><table border=3 align='center'><tr><td>编号</td><td>节点深度</td><td>节点名字</td><td>节点信息</td><td>节点路径</td><td>模板匹配</td></tr>");
for (int x = 0; x < y; x++)
{
gid = x.ToString();
//System.Web.HttpContext.Current.Response.Write( rootmes[x].ToString() );
System.Web.HttpContext.Current.Response.Write("<tr><td>" + x.ToString() + "</td>");
System.Web.HttpContext.Current.Response.Write("<td>" + lev[x].ToString() + "</td>");
System.Web.HttpContext.Current.Response.Write("<td>" + levmes[x].ToString() + "</td>");
System.Web.HttpContext.Current.Response.Write("<td>" + rootmes[x].ToString() + "</td>");
System.Web.HttpContext.Current.Response.Write("<td>" + path[x].ToString() + "</td><td>");
//显示匹配
System.Web.HttpContext.Current.Response.Write("<select id='typeted001" + gid + "' runat=\"server\" onchange=\"ChangeSelect(this.value,'typeted002" + gid + "','',typeted)\" style=\"width:100px\"></select>");
System.Web.HttpContext.Current.Response.Write("<select id='typeted002" + gid + "' runat=\"server\" onchange=\"ChangeSelect(this.value,'typeted003" + gid + "','',typeted)\" style=\"width:100px\"></select>");
System.Web.HttpContext.Current.Response.Write("<select id='typeted003" + gid + "' runat=\"server\" onchange=\"ChangeSelect(this.value,'typeted004" + gid + "','',typeted)\" style=\"width:100px\"></select>");
System.Web.HttpContext.Current.Response.Write("<select id='typeted004" + gid + "' runat=\"server\" onchange=\"\" style=\"width:100px\"></select>");
System.Web.HttpContext.Current.Response.Write("<script language=\"JavaScript\" type=\"text/javascript\"> ChangeSelect('0', 'typeted001" + gid + "', '', typeted) </script> ");
System.Web.HttpContext.Current.Response.Write("</td></tr>");
}
System.Web.HttpContext.Current.Response.Write("</table></form>");
System.Web.HttpContext.Current.Response.Write("<input type=\"button\" value=\"fenxi\" ></input>");
break;
}
}
catch (XmlException xe)
{
throw new XmlException(ERRMSG + xe.Message);
}
finally
{
xtr.Close();
}
}
#endregion[/align]
相关的JS文件代码
function ChangeSelect(ParentValue, NextId, NextSelectedValue, ArrObj, DefaultStr) {
StrObj = eval(document.getElementById(NextId));
StrObj.length = 0;
//判断它是二级数据源,还是三级
if (ArrObj.length > 0) {
if (ArrObj[0].length == 2)
{ ArrNum = 0; }
else
{ ArrNum = 2; }
}
//显示所有列表
for (i = 0; i < ArrObj.length; i++) {
if (i == 0) {
if (DefaultStr == undefined) DefaultStr = "==请选择==";
StrObj.options[StrObj.length] = new Option(DefaultStr, "");
}
if (ArrObj[i][1] == ParentValue) {
StrObj.options[StrObj.length] = new Option(ArrObj[i][0], ArrObj[i][ArrNum]);
}
}
//选中列表内某一项
for (i = 0; i < StrObj.length; i++) {
if (StrObj.options[i].value == NextSelectedValue) {
StrObj.options[i].selected = true;
}
}
//激发下一级的onchange事件以实现多级级联
StrObj.onchange();
}
//省市三维数组数据源
typeted = [
["CategoryName", "ParentId", "Id"],
["文字", "0", "01"],
["图像", "0", "02"],
["音乐", "0", "03"],
["<head>", "01", "001"],
["<font>", "01", "002"],
["<form>", "01", "003"],
["<img>", "02", "010"],
["<embed>", "03", "100"],
["<title>", "001", "0011"],
["<table>", "003", "0031"],
["<input>", "003", "0032"],
["<select>", "003", "0033"],
["<textarea>", "003", "0034"],
["start", "0031", "00311"],
["continue", "0031", "00312"],
["end", "0031", "00313"]
];