需要达到的效果很简单,就是有两个单选扭,后面分别对应两个下拉菜单,下拉菜单display:none,选中哪个radio,后面的下拉菜单就显示出来。源码在下面:
<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展现呢?

解决方案 »

  1.   

      <script>
            $(function(){
                $("input:radio").click(function(){
                 $(this).siblings("select").css("display","block");
                });
            });    
        </script>
      

  2.   

    <script type="text/javascript">
        $(function(){
            $("input:radio").click(function(){
                $("select").hide();
                $(this).siblings("select").show();
            });
        });
    </script>
      

  3.   

    楼主转变一下思维方式:用JQ设置display:block,还不如用show()简单
    个人是这么理解的
      

  4.   

            $(function(){
                $("input[name='ncsn']").click(function(){
    $(this).siblings("select").show();
    $(this).parent().siblings().find("select").hide();
    });
            });  
      

  5.   

    用jquery来做这些操作是很容易的。上面已有答案。