多个select下拉菜单调用onchange()的问题
在一个页面中有多个select(依数据数量而定),想实现选择其中一个select的选项后,显示隐藏对应的div内容,代码如下:functionselectdiv(type...
在一个页面中有多个select(依数据数量而定),想实现选择其中一个select的选项后,显示隐藏对应的div内容,代码如下:
function selectdiv(type){
var type
for (var i=1;i<4;i++){
var tempname="mune_x"+i
var part="x"+i
if (type==tempname){
Ppart=document.getElementById(part)
Ppart.style.display='';
}else{
Ppart=document.getElementById(part)
Ppart.style.display='none';
}
}
}
<select size="1" onChange="javascript:selectdiv('mune_x'+this.value)">
<option value="1" selected="selected">111</option>
<option value="2">222</option>
</select>
<div id="x1" style="display:block;">
aaaaaaaa
</div>
<div id="x2" style="display:none;">
bbbbbbbb
</div>
这样选择111可以看到x1中的内容,选择222可以看到x2中的内容,实现了一个select。但是如果有很多select时,选择其他下拉框后,变的还是第一个下拉框的div内容,我知道这是div的id重复的问题,但是不知道怎么解决。。。= =而且select有很多,也不知道具体数量,所以不能一个一个去改id,哪位高手可以帮帮忙? 展开
function selectdiv(type){
var type
for (var i=1;i<4;i++){
var tempname="mune_x"+i
var part="x"+i
if (type==tempname){
Ppart=document.getElementById(part)
Ppart.style.display='';
}else{
Ppart=document.getElementById(part)
Ppart.style.display='none';
}
}
}
<select size="1" onChange="javascript:selectdiv('mune_x'+this.value)">
<option value="1" selected="selected">111</option>
<option value="2">222</option>
</select>
<div id="x1" style="display:block;">
aaaaaaaa
</div>
<div id="x2" style="display:none;">
bbbbbbbb
</div>
这样选择111可以看到x1中的内容,选择222可以看到x2中的内容,实现了一个select。但是如果有很多select时,选择其他下拉框后,变的还是第一个下拉框的div内容,我知道这是div的id重复的问题,但是不知道怎么解决。。。= =而且select有很多,也不知道具体数量,所以不能一个一个去改id,哪位高手可以帮帮忙? 展开
1个回答
展开全部
反问一下:
当我选第N个下拉框时,要变哪个div,有规律吗
是成对儿出现的吗?
-------------------------
如果是选第N个下拉框,要变第N个div
可以再页面生成时,让div的ID有规律
比如<div id="x1" style="display:block;">
“x1”的1用变量代替 具体替换 看你用什么语言生成变量了
然后把这个id传到对应select的onChange方法里
这样就可以了 不知道明白没有
当我选第N个下拉框时,要变哪个div,有规律吗
是成对儿出现的吗?
-------------------------
如果是选第N个下拉框,要变第N个div
可以再页面生成时,让div的ID有规律
比如<div id="x1" style="display:block;">
“x1”的1用变量代替 具体替换 看你用什么语言生成变量了
然后把这个id传到对应select的onChange方法里
这样就可以了 不知道明白没有
追问
谢谢你的回答!
对,这个下拉框和div显示是成对的,id的取值明白了~但是还有点疑问。。。
'mune_x'+this.value时,div显不显示是和select中option的value取得值有关,比如说下拉框选项的value是1(选的是111),之后显示的就是x1这个div,如果把id用变量代替,那么第一个div的id比如是x1,第二个为x2,第三个为x3。。。。。但是value仍然是1和2,还是不能实现吧?难道要把value的值也用变量替换吗?
追答
总之就是把你的select和div的关系
在页面加载之前就建立好
onChange方法里只是传个关系参数而已
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询