一个简单控件问题在线等(200分)。。。。。 javascript 控制div 就可以了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先把这个文字控件的visible设计成false,然后双击radio控件。在事件里把文字控件的visible再设置成true就可以了 隐藏的文字用一个Label来装阿 ,初始visible设置成false。 建议用javascript 控制div,用radio 控件可以实现你的要求,但是要触发服务器事件,不好! 只是知道控制DIV 的显示。但没做过~~下面的代码和你的要求有点不同,希望有帮助<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>无标题页</title> <script language=javascript > function show(obj) { var str=getIE(obj) var temp=str.split(",") var top=temp[0] var left=temp[1] var objDiv=document.getElementById("div1") objDiv.style.display=""; objDiv.style.left=temp[1]; objDiv.style.top=parseInt(temp[0])+parseInt(obj.offsetHeight); } function getIE(e){ var t=e.offsetTop; var l=e.offsetLeft; while(e=e.offsetParent){ t+=e.offsetTop; l+=e.offsetLeft; } return (t+","+l); } function hide(obj){obj.style.display="none"} </script > </head><body> <form id="form1" runat="server"> <div> <div id="div1" onMouseOut="hide(this)"style="background-color:red;position:absolute; width:200px; height:100px; top:-100px;" > <a href="#" >你的问题 </a >有问题没 </div > <a href="javascript:void(0)" onmouseover=show(this) >点我 </a > <br > <br > <br > <br > <a href="javascript:void(0)" onmouseover=show(this) >点我 </a > <br > </div> </form></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script type="text/javascript"> function a(){ document.getElementById("y").style.display = "none"; if(document.getElementById("c").checked){ document.getElementById("y").style.display = "block"; } } </script> </HEAD> <BODY> <input id="a" type="radio" name="x" value="aaa" onclick="a();" />aaa<br> <input id="b" type="radio" name="x" value="bbb" onclick="a();" />bbb<br> <input id="c" type="radio" name="x" value="ccc" onclick="a();" />ccc<br> <div id="y" style="display:none;" >pls click ccc</div> </BODY></HTML> <BODY><script>var lastDisplayLayerid = "";function ShowLayer(layerid){ if(lastDisplayLayerid != "") { document.getElementById(lastDisplayLayerid).style.display='none'; } lastDisplayLayerid = layerid; document.getElementById(layerid).style.display='';}</script><INPUT TYPE="radio" NAME="a" value='1' onclick="ShowLayer('layer' + this.value)"><INPUT TYPE="radio" NAME="a" value='2' onclick="ShowLayer('layer' + this.value)"><INPUT TYPE="radio" NAME="a" value='3' onclick="ShowLayer('layer' + this.value)"><div id='layer1' style="display='none'">aaaa</div><div id='layer2' style="display='none'">bbbb</div><div id='layer3' style="display='none'">ccc</div></BODY> 这个测试脚本错误<body> <script type="text/javascript"> var lastDisplayLayerid=" "; function ShowLayer(layerid) { if(lastDisplayLayerid != " ") { document.getElementById(lastDisplayLayerid).style.display= 'none '; } lastDisplayLayerid = layerid; document.getElementById(layerid).style.display= ' '; } </script> <input type= "radio" name= "a" value= '1' onclick= "ShowLayer( 'layer ' + this.value) " /> <input type= "radio" name= "a" value= '2' onclick= "ShowLayer( 'layer ' + this.value) " /> <input type= "radio" name= "a" value= '3' onclick= "ShowLayer( 'layer ' + this.value) " /> <div id= 'layer1' style= "display:none"> aaaa </div> <div id= 'layer2' style= "display:none"> bbbb </div> <div id= 'layer3' style= "display:none"> ccc </div> </body> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script type="text/javascript"> function a(){ document.getElementById("y").style.display = "none"; if(document.getElementById("c").checked){ document.getElementById("y").style.display = "block"; } } </script> </HEAD> <BODY> <input id="a" type="radio" name="x" value="aaa" onclick="a();" />aaa<br> <input id="b" type="radio" name="x" value="bbb" onclick="a();" />bbb<br> <input id="c" type="radio" name="x" value="ccc" onclick="a();" />ccc<br> <div id="y" style="display:none;" >pls click ccc</div> </BODY></HTML>//这样 不算盗帖 我要的效果是有多个radio 选中一个就显示下面隐藏的层没选中的不显示 上面的例子只有一个radio会显示 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script type="text/javascript"> function a() { var r1=document.getElementById("y"); if(document.getElementById("c").checked) r1.style.display = "block"; } </script> </HEAD> <BODY> <input id="a" type="radio" name="x" value="aaa" onclick="a();return false" />aaa<br> <input id="b" type="radio" name="x" value="bbb" onclick="a();return false" />bbb<br> <input id="c" type="radio" name="x" value="ccc" onclick="a();return false" />ccc<br> <div id="y" style="display:none;" >pls click ccc</div> </BODY></HTML> 给radio加上onclick属性,触发js事件;通过JS判断哪个radio被点击了,根据不同的radio可以显示不同的文字~ 如果你不大懂JS,可以考虑用asp.net ajax 来搞定.把radio和要显示出来的lable放进updatepanel里面,设置为autopostback,写上onclick事件设置并显示lable的值.<asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Label ID="Label1" runat="server" Visible="false" Text="Label"></asp:Label><asp:RadioButton ID="RadioButton1" runat="server" AutoPostBack="True" OnCheckedChanged="RadioButton1_CheckedChanged" /> </ContentTemplate> </asp:UpdatePanel>------------------------- protected void RadioButton1_CheckedChanged(object sender, EventArgs e) { Label1.Text="11112324321"; Label1.Visible = true; }这样就OK了.这不是最好的,但可以解决你的问题.直接自己写js实现才是最好的~ ....一个 radio可以实现 多个也是一样的啊~~~~~~~~~~ <input name=r type=radio onclick="clk(this,1)">a<input name=r type=radio onclick="clk(this,2)">b<input name=r type=radio onclick="clk(this,3)">c<div id=div1 style="display:none">aaaaaaaa</div><div id=div2 style="display:none">bbbbbbbb</div><div id=div3 style="display:none">cccccccc</div><script>function clk(layer,j){for(i=1;i<4;i++)document.getElementById("div"+i).style.display="none";var dis=layer.checked?"":"none";document.getElementById("div"+j).style.display=dis;}</script> 请教一个问题 IE,Firefox下载问题集合 关于关键字的提取 求一个正则!!!!!!!!!!!!!!!!!!!!!!!!!!!!1 <asp:BoundColumn DataField="Tax_Total" HeaderText="含税金额" DataFormatString ="{0:C}" 问个按钮点击的问题 Accordion 和 GridView控件的事件问题 急急急ASP.NET中<%#Eval(" ")%>中双引号与外部调用次代码的方法冲突 MVC中,首页内容比较多,控制器如何传数据给视图 一个问题:VS.Net中文版的msdn是不是中文的? 上传文件 post是怎么传值的
但没做过~~
下面的代码和你的要求有点不同,希望有帮助<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language=javascript >
function show(obj)
{
var str=getIE(obj)
var temp=str.split(",")
var top=temp[0]
var left=temp[1]
var objDiv=document.getElementById("div1")
objDiv.style.display="";
objDiv.style.left=temp[1];
objDiv.style.top=parseInt(temp[0])+parseInt(obj.offsetHeight);
}
function getIE(e){
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent){
t+=e.offsetTop;
l+=e.offsetLeft;
}
return (t+","+l);
}
function hide(obj){obj.style.display="none"}
</script > </head>
<body>
<form id="form1" runat="server">
<div>
<div id="div1" onMouseOut="hide(this)"style="background-color:red;position:absolute; width:200px; height:100px; top:-100px;" > <a href="#" >你的问题 </a >有问题没 </div > <a href="javascript:void(0)" onmouseover=show(this) >点我 </a >
<br >
<br >
<br >
<br >
<a href="javascript:void(0)" onmouseover=show(this) >点我 </a >
<br >
</div>
</form>
</body>
</html>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript">
function a(){
document.getElementById("y").style.display = "none";
if(document.getElementById("c").checked){
document.getElementById("y").style.display = "block";
}
}
</script>
</HEAD> <BODY>
<input id="a" type="radio" name="x" value="aaa" onclick="a();" />aaa<br>
<input id="b" type="radio" name="x" value="bbb" onclick="a();" />bbb<br>
<input id="c" type="radio" name="x" value="ccc" onclick="a();" />ccc<br>
<div id="y" style="display:none;" >pls click ccc</div>
</BODY>
</HTML>
<script>
var lastDisplayLayerid = "";
function ShowLayer(layerid)
{
if(lastDisplayLayerid != "")
{
document.getElementById(lastDisplayLayerid).style.display='none';
}
lastDisplayLayerid = layerid;
document.getElementById(layerid).style.display='';
}
</script>
<INPUT TYPE="radio" NAME="a" value='1' onclick="ShowLayer('layer' + this.value)">
<INPUT TYPE="radio" NAME="a" value='2' onclick="ShowLayer('layer' + this.value)">
<INPUT TYPE="radio" NAME="a" value='3' onclick="ShowLayer('layer' + this.value)">
<div id='layer1' style="display='none'">aaaa</div>
<div id='layer2' style="display='none'">bbbb</div>
<div id='layer3' style="display='none'">ccc</div>
</BODY>
<script type="text/javascript">
var lastDisplayLayerid=" ";
function ShowLayer(layerid)
{
if(lastDisplayLayerid != " ")
{
document.getElementById(lastDisplayLayerid).style.display= 'none ';
}
lastDisplayLayerid = layerid;
document.getElementById(layerid).style.display= ' ';
}
</script>
<input type= "radio" name= "a" value= '1' onclick= "ShowLayer( 'layer ' + this.value) " />
<input type= "radio" name= "a" value= '2' onclick= "ShowLayer( 'layer ' + this.value) " />
<input type= "radio" name= "a" value= '3' onclick= "ShowLayer( 'layer ' + this.value) " />
<div id= 'layer1' style= "display:none"> aaaa </div>
<div id= 'layer2' style= "display:none"> bbbb </div>
<div id= 'layer3' style= "display:none"> ccc </div>
</body>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript">
function a(){
document.getElementById("y").style.display = "none";
if(document.getElementById("c").checked){
document.getElementById("y").style.display = "block";
}
}
</script>
</HEAD> <BODY>
<input id="a" type="radio" name="x" value="aaa" onclick="a();" />aaa<br>
<input id="b" type="radio" name="x" value="bbb" onclick="a();" />bbb<br>
<input id="c" type="radio" name="x" value="ccc" onclick="a();" />ccc<br>
<div id="y" style="display:none;" >pls click ccc</div>
</BODY>
</HTML>
//这样 不算盗帖
没选中的不显示
上面的例子只有一个radio会显示
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript">
function a()
{
var r1=document.getElementById("y");
if(document.getElementById("c").checked) r1.style.display = "block";
}
</script>
</HEAD> <BODY>
<input id="a" type="radio" name="x" value="aaa" onclick="a();return false" />aaa<br>
<input id="b" type="radio" name="x" value="bbb" onclick="a();return false" />bbb<br>
<input id="c" type="radio" name="x" value="ccc" onclick="a();return false" />ccc<br>
<div id="y" style="display:none;" >pls click ccc</div>
</BODY>
</HTML>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Visible="false" Text="Label"></asp:Label>
<asp:RadioButton ID="RadioButton1" runat="server" AutoPostBack="True" OnCheckedChanged="RadioButton1_CheckedChanged" />
</ContentTemplate>
</asp:UpdatePanel>
-------------------------
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
Label1.Text="11112324321";
Label1.Visible = true;
}
这样就OK了.
这不是最好的,但可以解决你的问题.直接自己写js实现才是最好的~
<input name=r type=radio onclick="clk(this,2)">b
<input name=r type=radio onclick="clk(this,3)">c
<div id=div1 style="display:none">aaaaaaaa</div>
<div id=div2 style="display:none">bbbbbbbb</div>
<div id=div3 style="display:none">cccccccc</div>
<script>
function clk(layer,j)
{
for(i=1;i<4;i++)
document.getElementById("div"+i).style.display="none";
var dis=layer.checked?"":"none";
document.getElementById("div"+j).style.display=dis;
}
</script>