描述下问题:
有两个dropdownlist ddlst1和ddlst2,功能很简单,就是ddlst1当选定一个值时(该值不用考虑,比如选的值为1),ddlst2不可见,否则ddlst2可见。
通常有两个方法实现:1.如果用DropDownList 的AutoPostBack="True"方法在 ddllst1_SelectedIndexChanged事件中判断,设置ddlst2的Visible的属性即可。
2.用AJAX也可实现。
现在上级指定要用js来实现该功能,知道的情贴下码。不要给我baidu or google,支持手动!抵制总结型人才!
有两个dropdownlist ddlst1和ddlst2,功能很简单,就是ddlst1当选定一个值时(该值不用考虑,比如选的值为1),ddlst2不可见,否则ddlst2可见。
通常有两个方法实现:1.如果用DropDownList 的AutoPostBack="True"方法在 ddllst1_SelectedIndexChanged事件中判断,设置ddlst2的Visible的属性即可。
2.用AJAX也可实现。
现在上级指定要用js来实现该功能,知道的情贴下码。不要给我baidu or google,支持手动!抵制总结型人才!
解决方案 »
- 二进制大对象问题
- javascrip问题,在有点电脑上,var url=location.href; 报没有权限问题的错误
- 关于添加ISAPI filter dll文件的方式。
- 怎样才能用.net2003打开.net所作的项目?谢谢了!
- asp.net mvc 中的一句话不东怎么改,help,救命
- 那位有visio.2003.enterprise.edtion的下载地址或可下的种子!
- 怎样将一个网站添加到“受信任的站点”或将一个插件注册成安全
- 高价购买ioffice.net 2003或2004全源码版. 联系:QQ116688802 或[email protected]
- asp.net中怎么算出当前是第几周呀
- 请教TextBox DropDownList问题!急急
- QQ空间相册中批量修改图片属性
- JS做的树形菜单怎么设置点击上面的连接在当前窗口(浏览器)中打开
function setstateonchange()
{
var a1=documnet.getElementById("ddlst1");
if(a1!='')
{
var a2=documnet.getElementById("ddlst2");
a2.visable=false;
}
}
后台添加到ddlst1的onchange方法中
if ($(this).val() == "1") {
$("#ddlst2").show();
} else {
$("#ddlst2").hide();
}
});
能不能不用股服务器控件?
string uid = Session["user_name"].ToString();
if (uid != null && uid != "")
{
divUserAddress.Style["display"] = "block";
this.isvidAddres.Style["display"] = "block";
DataSet ds = OrderManager.selectAddress(uid,1);
shtml = "<select id='selectVipAddres' onchange='vipaddresChange(this)' style='width:140px' ><option value=''>选择我的收货地址</option>";
for (int i = 0; i < ds.Tables[0].Rows.Count;i++ )
{
string addres = ds.Tables[0].Rows[i]["address"].ToString();
string id = ds.Tables[0].Rows[i]["id"].ToString();
string[] uaddres = addres.Split('-');
shtml += "<option value='" + uaddres[3] + "' id='" + id + "'>" + uaddres[3] + "</option>";
}
shtml += "</select>";
this.isvidAddres.InnerHtml = shtml;
}这样可以绑定出第一个 下拉菜单第一个选择该改变的时候调用vipaddresChange(this) 这个方法
这个方法中调用ajax时间 去重新读取第二个 select的选项 然后 用JS循环 结果到第二个里面去
JQUERY:
$(function(){
$("#ddlst1").change(function(){
var a = $("#ddlst1").val();
if(a == 1)
{
$("#ddlst2").hide();
}
else
{
$("#ddlst2").show();
}
})
})
function setstateonchange()
{
var a1=document.getElementById("ddllst1");
if(a1.value=='1')
{
var a2=document.getElementById("ddllst2");
a2.style.visibility='hidden';
}
}
</script> <title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddllst1" runat="server">
</asp:DropDownList>
<asp:DropDownList ID="ddllst2" runat="server">
</asp:DropDownList>
</div>
</form>
</body>
</html>后台:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlst();
ddllst1.Attributes.Add("onchange", "setstateonchange()");
}
} private void ddlst()
{
for (int i = 0; i < 9; i++)
{
ddllst1.Items.Insert(0, new ListItem(i.ToString(), i.ToString()));
}
}
<html>
<head>
<title>New Document </title>
<script language="JavaScript" type="text/javascript">var city=[
["北京","天津","上海","重庆"],
["南京","苏州","南通","常州"],
["福州","福安","龙岩","南平"],
["广州","潮阳","潮州","澄海"],
["兰州","白银","定西","敦煌"]
];
function getCity(){
var sltProvince=document.getElementById("province");
var sltCity=document.getElementById("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="somepage.asp" name=theForm">
<select name="province" id="province" onchange="getCity()">
<option value="0">请选择所在省份</option>
<option value="直辖市">直辖市</option>
<option value="江苏省">江苏省</option>
<option value="福建省">福建省</option>
<option value="广东省">广东省</option>
<option value="甘肃省">甘肃省</option>
</select>
<select id="city" name="city">
<option value="0">请选择所在城市</option>
</select>
</form>
</body>
</html>
visibility和display都可以实现对域的隐藏,但visibility要占用域的空间,而display则不会。
两组方法如下:
visibility:
document.all("tb_0").style.visibility="hidden";
document.all("tb_1").style.visibility="visible"; display:
document.all("tb_0").style.display="none";
document.all("tb_1").style.display="block";