jq对radio的控制问题
需要达到的效果很简单,就是有两个单选扭,后面分别对应两个下拉菜单,下拉菜单display:none,选中哪个radio,后面的下拉菜单就显示出来。源码在下面:
- HTML code
<html><head></head><style> .nclassify{float:left;margin:10px} .nclassify select{display:none}</style><body> <span class="nclassify"> <input id="ncsn1" type="radio" name="ncsn" value="政府新闻" /><label>政府新闻</label> <select id="snc1"> <option selected>全部</option> <option value="政府新闻类型一">政府新闻类型一</option> <option value="政府新闻类型二">政府新闻类型二</option> <option value="政府新闻类型三">政府新闻类型三</option> <option value="政府新闻类型四">政府新闻类型四</option> <option value="政府新闻类型五">政府新闻类型五</option> </select> </span> <span class="nclassify"> <input id="ncsn2" type="radio" name="ncsn" value="企业新闻" /><label>企业新闻</label> <select id="snc2"> <option selected>全部</option> <option value="企业新闻类型一">企业新闻类型一</option> <option value="企业新闻类型二">企业新闻类型二</option> <option value="企业新闻类型三">企业新闻类型三</option> <option value="企业新闻类型四">企业新闻类型四</option> <option value="企业新闻类型五">企业新闻类型五</option> </select> </span></body><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> <script> $(function(){ $("input:radio[name='ncsn']:checked").siblings("select").css("display","block"); }); </script></html>现在问题来了,当选中radio后,对应的select不会立刻出来,需要刷新一下才有效果,如何能让select实时根据所选radio展现呢?
[解决办法]
<script>
$(function(){
$("input:radio").click(function(){
$(this).siblings("select").css("display","block");
});
});
</script>
[解决办法]
- JScript code
<script type="text/javascript"> $(function(){ $("input:radio").click(function(){ $("select").hide(); $(this).siblings("select").show(); }); });</script>
[解决办法]
[解决办法]
楼主转变一下思维方式:用JQ设置display:block,还不如用show()简单。。。
个人是这么理解的
[解决办法]
$(function(){
$("input[name='ncsn']").click(function(){
$(this).siblings("select").show();
$(this).parent().siblings().find("select").hide();
});
});