100分求---下拉列表框代码
表t1
------------------
ID 类别
9999 水果类
99999999 梨子
99999998 苹果
99999997 菠萝
9998 蔬菜类
99989998 白菜
99989998 茄子
9997 饮料类
99979999 可乐
99979998 啤酒
………
------------------------
t2
------------------------
商品 类别2 类别1
雪花啤酒 啤酒 饮料类
蓝剑啤酒 啤酒 饮料类
进口茄子 茄子 蔬菜类
本地茄子 茄子 蔬菜类
………
------------------------
现在有2个下拉列表框和一个按钮
当第一个下拉为:所有。第2个下拉第一行显示所有。搜索。结果显示T2中的全部商品。
当第一个下拉为:蔬菜类。第2个下拉第一行显示所有。搜索。结果显示T2中所有蔬菜类商品。
当第一个下拉为:蔬菜类。第2个下拉第一行显示所有,第2行为茄子。搜索。结果显示T2中所有茄子类商品。
求下拉代码。
查询和显示都会。
下拉读取值不会。
(.NET C# Access)
[解决办法]
给你段参考代码吧
/// <summary>
/// 绑定罐组
/// </summary>
private void BindCanGroup()
{
Group group = new Group(connStr);
DataTable dt = group.GetDataFromLibrary(this.ddlLibrary.SelectedValue);
this.ddlCanGroup.DataSource = dt;
this.ddlCanGroup.DataTextField = "CCanGroupName ";
this.ddlCanGroup.DataValueField = "CCanGroupCode ";
this.ddlCanGroup.DataBind();
this.ddlCanGroup.Items.Insert(0, "----请选择---- ");
}
/// <summary>
/// 绑定油库
/// </summary>
private void BindLibrary()
{
string code = Convert.ToString(ViewState[ "ParentCode "]);
int type = Convert.ToInt32(ViewState[ "ParentType "]);
Library lib = new Library(connStr);
DataTable dt = lib.GetLibraryByTypeAndID(type,code);
this.ddlLibrary.DataSource = dt;
this.ddlLibrary.DataTextField = "COilLibraryName ";
this.ddlLibrary.DataValueField = "COilLibraryCode ";
this.ddlLibrary.DataBind();
if (type == 3)
{
this.ddlLibrary.SelectedIndex = this.ddlLibrary.Items.IndexOf(ddlLibrary.Items.FindByValue(code));
this.ddlLibrary.Enabled = false;
}
}
private void ddlLibrary_SelectedIndexChanged(object sender, System.EventArgs e)
{
this.BindCanGroup();
}
[解决办法]
再给一个负责任的解决办法,就是只做一个二级的下拉列表。
但为每个Option设定 不同的 class
最后提前为select定义几组class。到时只要切换二级的下拉列表的class即可。
<style>
select.shuiguo option.shuiguo {display:block}
select.shuiguo option.shucai{display:none}
select.shucai option.shuiguo {display:none}
select.shucai option.shucai{display:block}
</style>
<select class= "shucai ">
<option class= "shucai "> shucai </option>
<option class= "shuiguo "> shuiguo </option>
</select>
仅供参考,估计还没有人搞出这样的实现方法,LZ若真做出来一定要帖出来分享。
[解决办法]
<html>
<head>
<title> 二级联动菜单 </title>
<script type= "text/javascript ">
var city=[
[ "北京 ", "天津 ", "上海 ", "重庆 "],
[ "福州 ", "泉州 ", "厦门 ", "漳州 ", "龙岩 ", "南平 ", "三明 "],
[ "杭州 ", "义乌 ", "绍兴 "],
[ "广州 ", "潮阳 ", "潮州 ", "澄海 ", "深圳 "],
];
function getCity()
{
var sltProvince=document.forms[ "theForm "].elements[ "province "];
var sltCity =document.forms[ "theForm "].elements[ "city "];
var provinceCity=city[sltProvince.selectedIndex-1];
sltCity.length=1;
for(var i=0;i <provinceCity.length;i++)
{
sltCity[i+1]=new Option(provinceCity[i],provinceCity[i]);
}
}
</script>
</head>
<body>
<form action= "# " name= "theForm ">
<select name= "province " onchange= "getCity() ">
<option value= "直辖市 "> 请选择所在省份 </option>
<option value= "直辖市 "> 直辖市 </option>
<option value= "福建省 "> 福建省 </option>
<option value= "浙江省 "> 浙江省 </option>
<option value= "广东省 "> 广东省 </option>
</select>
<select name= "city ">
<option value= "0 "> 请选择所在的城市 </option>
</select>
</form>
</body>
</html>
这个是以前用JS写的 你把数据表t1 绑定到 province,利用AJAX得到数组t2赋值给city就可以了