两个DropDownList制作关联菜单? 没看明白啊!是指第一个DropDownList选择后,第二项自动填充相应的数据?用DropDownList_SelectedIndexChange() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不要放在if (!IsPostBack)里:select * from 表名 where 字段名=DropDownList当前值;查询出的结果放在 DataSet 中。再绑定第二个 DropDownList 的数据源为DataSet; 注意第一个dropdownlist的autopostback=trueprivate void ddMainKind_SelectedIndexChanged(object sender, System.EventArgs e){ ddMidKind.Items.Clear(); ddMidKind.Items.Add(new ListItem("--请选择小类--","select")); if(!ddMainKind.SelectedItem.Value.Equals("select")) { C_iCategory c=new C_iCategory(); SqlDataReader reader=c.SonKindAvailable(ddMainKind.SelectedItem.Value); while(reader.Read()) { ddMidKind.Items.Add(new ListItem((string)reader["CategoryName"],(string)reader["CategoryNo"])); } reader.Close(); } } 参考Js脚本<form name="yjForm"> <select name="yjTest01" onChange="Change(this.options.selectedIndex)" size="1"> <option>0</option> <option>1</option> <option>2</option> </select> <select name="yjTest02" size="1"> <option>00</option> <option>01</option> </select> <script language="JavaScript"> var groups=document.yjForm.yjTest01.options.length var group=new Array(groups) for (i=0; i<groups; i++) group[i]=new Array() group[0][0]=new Option("00","00") group[0][1]=new Option("01","01") group[1][0]=new Option("10","10") group[1][1]=new Option("11","11") group[2][0]=new Option("20", "20") group[2][1]=new Option("21","21") var temp=document.yjForm.yjTest02 function Change(x) { for (m=temp.options.length-1;m>0;m--) temp.options[m]=null for (i=0;i<group[x].length;i++) { temp.options[i]=new Option(group[x][i].text,group[x][i].value) } temp.options[0].selected=true } </script> </div></form> bluerain006,shang515两位说的方法我知道,现在我的两个DropDownList已经实现互动。第2个DropDownList根据,第一个DropDownList变动内容。但是如果用DropDownList.SelectValue获取第二个DropDownList当前选择的值的时候就出问题了。二个DropDownList里的值不管你怎么选,获得的都是第一项内容。如果我说的还不太明白,那么请帮我讲一下,实现3个DropDownList互联,第2个DropDownList根据第1个DropDownList内容而来,第3个DropDownList根据第2个DropDownList内容而来。3个DropDownList的内容都是从表里读出的。jeffrey_rui你写的方法我没看太懂C_iCategory()是什么啊? JAVA啊!我一窍不通啊!不要说转换成C#的还要绑定数据,连看懂都难啊!5555 读出数据后,第二个DropDownList数据绑定一下。 我今天刚做出来,你在页面初始化的时候,就把这三级的关系,写出来,就好了!现在我遇到的难题是,能不再dropdownlist控件上面,输入数据! 哈哈!对不起大家拉,我的问题找到了。原来是调用ONLOAD事件,导致后台每次刷新都调用第2个dropdownlist数据填充,使得数据总保持在第一项!现在好了。呵呵!再次对不起!分数就意思一下拉! repeater的问题 input里面加入 runat="server"后,就不能调用js了,怎么回事? 网站被攻击? 获取datalist列值的问题 新手,请高手指点啊。。。 请问现在研究 DotNetNuke的人多吗?这东西我觉得很好. 问题。。。。急急。。。。。 播放器取消自动播放 传参数的问题。 #的web程序中如何在frameset中建tree 请问如何实现单击DataGrid中某一行,就选中改行(一整行,变色),而原先选中的行恢复原来的颜色。 datagrid问题
select * from 表名 where 字段名=DropDownList当前值;
查询出的结果放在 DataSet 中。
再绑定第二个 DropDownList 的数据源为DataSet;
private void ddMainKind_SelectedIndexChanged(object sender, System.EventArgs e)
{
ddMidKind.Items.Clear();
ddMidKind.Items.Add(new ListItem("--请选择小类--","select"));
if(!ddMainKind.SelectedItem.Value.Equals("select"))
{
C_iCategory c=new C_iCategory();
SqlDataReader reader=c.SonKindAvailable(ddMainKind.SelectedItem.Value);
while(reader.Read())
{
ddMidKind.Items.Add(new ListItem((string)reader["CategoryName"],(string)reader["CategoryNo"]));
}
reader.Close();
}
}
<select name="yjTest01" onChange="Change(this.options.selectedIndex)" size="1">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
<select name="yjTest02" size="1">
<option>00</option>
<option>01</option>
</select>
<script language="JavaScript">
var groups=document.yjForm.yjTest01.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()
group[0][0]=new Option("00","00")
group[0][1]=new Option("01","01")
group[1][0]=new Option("10","10")
group[1][1]=new Option("11","11")
group[2][0]=new Option("20", "20")
group[2][1]=new Option("21","21")
var temp=document.yjForm.yjTest02
function Change(x)
{
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++)
{
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
}
</script>
</div>
</form>
第2个DropDownList根据,第一个DropDownList变动内容。但是如果用DropDownList.SelectValue获取第二个DropDownList当前选择的值的时候就出问题了。二个DropDownList里的值不管你怎么选,获得的都是第一项内容。
如果我说的还不太明白,那么请帮我讲一下,实现3个DropDownList互联,第2个DropDownList根据第1个DropDownList内容而来,第3个DropDownList根据第2个DropDownList内容而来。
3个DropDownList的内容都是从表里读出的。jeffrey_rui你写的方法我没看太懂C_iCategory()是什么啊?
分数就意思一下拉!