问题描述
我在jsp页面里得到一个map(id-name),我去遍历这个map,对于每一个id,我生成一个<div id="<%=id%>"><%=name%></div>我页面还有另外的一个下拉框select,select的option的value与map的id是同样的值。我要做的效果就是,我选择select发生了变化,比如说option value="1"变为option value="2"了,我要让div id="1"对应的div隐藏,而显示div id="2"的div该怎么写jquery的代码呢,或者js也行。 问题补充:AngelAndAngel 写道
解决方案
这么试试看呢 $("#selctId").change(function(){ var value= $(this).val(); $("div").each(function(){ if( $(this).attr("id") != value){ $(this).hide(); } else { $(this).show(); } } });
解决方案二:
因为change事件里面不能获取是从哪一个值变成当前的值,所以,要实现这个效果的办法就是,每次change把所有div隐藏,然后显示当前的div: $("#selctId").change(function(){ var val = $(this).val(); $("div").hide(); $("#" + val).show(); });
解决方案三:
你的select是不是单选,div是不是每次只要一个能显示?
解决方案四:
应该是 onChange
解决方案五:
引用我的div的id还有option的value都是动态从那个map里取的呀,不是直接写死了div id=xx的,是动态的变通一下咯 比如<select id="<%=i%>" onchange="selectChange()"></select>function selectChange(){if($(this).val()=='2'){ $("#div1").hide(); $("#div2").show();}}
解决方案六:
LS正解。。。
解决方案七:
这样可以搞定:$("#selctId").change(function(){ if($(this).val()=='2'){ $("#div1").hide(); $("#div2").show();}});