javascript如何实现多个下拉框或隐藏层的显示隐藏

比如网页中有10个下拉框点击一个出下拉框点击另一个出下拉框同时前一个自动隐藏如何实现?这个问题的重点是10个里只会显示出一个点击一个会隐藏其他的下面的答案有些对我很有帮助... 比如网页中有10个下拉框 点击一个出下拉框 点击另一个出下拉框同时前一个自动隐藏 如何实现?
这个问题的重点是10个里只会显示出一个 点击一个会隐藏其他的

下面的答案有些对我很有帮助 可惜我是新手 暂时就 “指罗男”的答案能看懂理解 其他的我还不能完全理解运用 我会继续学习下去的 我期待能有更多的好方法出来 让我学习
展开
 我来答
指罗男
推荐于2016-11-15 · 超过30用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:89.8万
展开全部
1.全部下拉框的display:none;
2.给每个下拉框对应的按钮加nomouseclick事件
3.事件中,先选择出display:block的下拉框,设置其display:none;然后再把当前下拉框设置为display:block;
这个用JQUERY做起来比较简单
1.把全部下拉框设置为display:none;
2.加一个类 .current { display:block !important;}
3.JQUERY代码如下
$(document).ready(function(){
$("#下拉框的ID").click(function(){
$(".current").removeClass("current");
$(this).addClass("current");
});
});
百度网友52e4234
2011-09-06 · TA获得超过7597个赞
知道大有可为答主
回答量:6183
采纳率:0%
帮助的人:3360万
展开全部
给你一个简单的例子吧!
当你点击显示那个隐藏层的时候,就调用reload()这个函数,

<script type="text/javascript">
<!--
function createxmlhttp()
{
//create xmlhttp object
xmlhttpobj = false;
try{
xmlhttpobj = new XMLHttpRequest;
}catch(e){
try{
xmlhttpobj=new ActiveXObject("MSXML2.XMLHTTP");
}catch(e2){
try{
xmlhttpobj=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e3){
xmlhttpobj = false;
}
}
}
return xmlhttpobj;

}

function reload(){
var xmlobj;
xmlobj=createxmlhttp();
xmlobj.open("get","search.asp?typeid=1",true);//这里要为那个层的内容做一个ASP页面.,如果有值传递,也可以加在后面.
xmlobj.onreadystatechange=function(){
if (xmlobj.readyState==4){
if (xmlobj.status==200){

document.getElementById("info").innerHTML=xmlobj.responseText;//加载内容.这里的info是我随便取的一个ID,你可以换成你的那个显示内容的层的ID.

}
}
};
xmlobj.send(null);
}

-->
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ice_maru
2011-09-06 · TA获得超过154个赞
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:262万
展开全部
设一个全局变量,比如var selectedObj = null;
在点击事件触发时,
1. 当selectedObj ==null,将触发的下拉框赋给这个全局变量selectedObj ,弹出下拉框。
2. 当selectedObj !=null,隐藏它,并将触发的下拉框赋给这个全局变量selectedObj ,弹出下拉框。
更多追问追答
追问
能再具体点吗 我新手 你这样说 我还没明白具体该怎么写
追答
实现方法我已经很具体了。
把你代码贴上,我给你改一下,

<!--
var selectedObj =null;
function createxmlhttp()
{
if(selectedObj ==null){
selectedObj = document.getElementById("info");//换成你的那个显示内容的层的ID.
selectedObj.innerHTML = xmlobj.responseText;
}else{
selectedObj .style.display = "none";//隐藏前一个
selectedObj = document.getElementById("info");//换成你的那个显示内容的层的ID.
selectedObj.innerHTML = xmlobj.responseText;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dfb61d1b0
2011-09-06 · TA获得超过404个赞
知道小有建树答主
回答量:385
采纳率:66%
帮助的人:152万
展开全部
将10个下拉框分别放进10个div中,把下拉框所在div之外的其他div的style.display="none"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Glad大明白
2011-09-06 · TA获得超过1223个赞
知道小有建树答主
回答量:750
采纳率:75%
帮助的人:189万
展开全部
最直接if判断显示和隐藏,也可以for循环遍历
追问
求具体方法 你这样说我还是一头雾水。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式