2016-04-13 34 views
-4

如果检查其中一个单选按钮option--input,我该如何隐藏父元素variant--group如果选中了单选按钮,隐藏元素

这应该适用于页面加载和输入更改。

.variant--group.is--disabled{ 
 
    display: none; 
 
}
<div class="variant--group"> 
 
<h3 class="variant--name">Format</h3> 
 
<div class="variant--option"> 
 
<input type="radio" class="option--input" id="radio1" name="radio" value=""> 
 
<label for="radio1">radio1</label> 
 
</div> 
 
<div class="variant--option"> 
 
<input type="radio" class="option--input" id="radio2" name="radio" value=""> 
 
<label for="radio2">radio2</label> 
 
</div> 
 
</div>

回答

-1
jQuery中

$("input[name= radio]:radio").change(function() { 
    $(".variant--group").hide(); 
}); 
+1

使用jQuery。这是伟大的,做所有的事情。 –

+0

@Scott Campbell:这将隐藏所有类名为'variant - group'的元素 – Pugazh

+0

@Pugazh我认为这是我简单回答问题和过度复杂化场景之间的区别。 –

1

隐藏最接近变异组

$("input[name= radio]:radio").change(function() { 
    $(this).closest(".variant--group").hide(); 
}); 
0

使用jQuery的功能.parents()识别和隐藏容器。

$(function() { 
 
    $('.option--input').change(function() { 
 
    if ($(this).is(':checked')) { 
 
     $(this).parents('.variant--group').hide(); 
 
    } 
 
    // not checked 
 
    }); 
 
});
.variant--group.is--disabled { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="variant--group"> 
 
    <h3 class="variant--name">Format</h3> 
 
    <div class="variant--option"> 
 
    <input type="radio" class="option--input" id="radio1" name="radio" value=""> 
 
    <label for="radio1">radio1</label> 
 
    </div> 
 
    <div class="variant--option"> 
 
    <input type="radio" class="option--input" id="radio2" name="radio" value=""> 
 
    <label for="radio2">radio2</label> 
 
    </div> 
 
</div>