首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript根据单选按钮显示隐藏

Javascript根据单选按钮显示隐藏
EN

Stack Overflow用户
提问于 2012-09-27 00:01:02
回答 4查看 3.7K关注 0票数 0

我有一些粗略的代码,允许我根据两个单选按钮过滤一些结果。我正在努力添加第三个变体,它将作为'show all',即一次显示所有四个div。任何帮助都将不胜感激。

代码语言:javascript
复制
<p class="text1">Variants
 <label>
   <input type="radio" name="type" value="variant-2" id="type_0" checked="checked" />
   Variant 1</label>
 <label>
   <input type="radio" name="type" value="variant-1" id="type_1" />
   Variant 2</label>
</p>


<script>
$(document).ready(function(){
  $("input[name$='type']").click(function(){
  var value = $(this).val();
  if(value=='variant-2') {
    $(".variant-1").show();
     $(".variant-2").hide();
}
else if(value=='variant-1') {
 $(".variant-2").show();
  $(".variant-1").hide();
 }
});
 $(".variant-1").show();
 $(".variant-2").hide();
});

</script>


<div class="variant-1">Variant 1</div>

<div class="variant-2">Variant 2</div>

<div class="variant-1">Variant 1.1</div>

<div class="variant-2">Variant 2.1</div>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-27 00:07:30

这个怎么样?http://jsfiddle.net/WyxmF/1

代码语言:javascript
复制
<p class="text1">Variants
 <label>
   <input type="radio" name="type" value="variant-2" id="type_0" checked="checked" />
   Variant 1</label>
 <label>
   <input type="radio" name="type" value="variant-1" id="type_1" />
   Variant 2</label>
 <label>
   <input type="radio" name="type" value="variant-all" id="type_all" />
   All</label>
</p>

<div class="variant variant-1">Variant 1</div>

<div class="variant variant-2">Variant 2</div>

<div class="variant variant-1">Variant 1.1</div>

<div class="variant variant-2">Variant 2.1</div>
​


$("input[name$='type']").click(function() {
    var value = $(this).val();
    if (value == 'variant-2') {
        $(".variant-1").show();
        $(".variant-2").hide();
    }
    else if (value == 'variant-1') {
        $(".variant-2").show();
        $(".variant-1").hide();
    }
    else if (value == 'variant-all') {
        $(".variant").show();
    }
});
$(".variant-1").show();
$(".variant-2").hide();​
票数 2
EN

Stack Overflow用户

发布于 2012-09-27 00:12:36

尝试基于属性“”类的解决方案

HTML

代码语言:javascript
复制
   <p class="text1">Variants
 <label>
   <input class="gr" type="radio" name="type" value="one" id="type_0" checked="checked" />
   Variant 1</label>
 <label>
   <input class="gr" type="radio" name="type" value="two" id="type_1" />   Variant 2</label>
<label>
   <input class="gr" type="radio" name="type" value="all" id="type_all" />  All</label>

</p>

</br>
</br>
</br>


<div class="variant-1 one all">Variant 1</div>

<div class="variant-2 two all">Variant 2</div>

<div class="variant-1 one all">Variant 1.1</div>

<div class="variant-2 two all">Variant 2.1</div>

JS

代码语言:javascript
复制
$(document).ready(function(){
    $(".gr").click(function(){
        var value = $(this).attr('value');
        $('.all').hide();        
        $('.'+value ).show();
    })
});​
票数 1
EN

Stack Overflow用户

发布于 2012-09-27 00:07:55

尝试此check FIDDLE

代码语言:javascript
复制
$(document).ready(function() {
    $("input[name$='type']").click(function() {
        var value = $(this).val();
        if (value == 'variant-2') {
            $(".variant-1").show();
            $(".variant-2").hide();
        }
        else if (value == 'variant-1') {
            $(".variant-2").show();
            $(".variant-1").hide();
        }
        else{
            $(".variant-2").show();
            $(".variant-1").show();
        }
    });
    $(".variant-1").show();
    $(".variant-2").hide();
});​

<p class="text1">Variants
 <label>
   <input type="radio" name="type" value="variant-2" id="type_0" checked="checked" />
   Variant 1</label>
 <label>
   <input type="radio" name="type" value="variant-1" id="type_1" />
   Variant 2</label>
    <label>
   <input type="radio" name="type" value="variant-3" id="type_2" />
   Show All</label>
</p>

<div class="variant-1">Variant 1</div>

<div class="variant-2">Variant 2</div>

<div class="variant-1">Variant 1.1</div>

<div class="variant-2">Variant 2.1</div>​

更新了代码

减少重复的更好方法

代码语言:javascript
复制
$(document).ready(function() {
    $("input[name$='type']").click(function() {
        var value = $(this).val();
        if(value == 'variant-3'){
            $('[class*=variant]').show();
        }
        else{
             $('[class*=variant]').hide();
             $('.'+ value ).show();
        }
    }).click();
});​

UPDATED FIDDLE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12605815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档