通过单选按钮状态设置HTML元素的可见性
Set HTML element visibility by radio button state
我想根据单选按钮的状态隐藏/显示DIV
。
我知道我可以在单选按钮中添加一个监听器,并在选中或未选中时显示/隐藏它(就像这个答案)。
有没有一种方法可以将Div
的display
属性绑定到单选按钮的:checked
属性,比如$("#myDiv").visibility($("#myRadio").is('checked'));
?
换句话说,我可以将显示/可见性数据绑定到单选按钮的状态吗?
也许这可以在css中轻松完成?
好吧,这取决于你想对你的div HTML元素做什么:
以下示例是更改Div的可见性:
$( document ).ready(function() {
$( "#myRadio" ).click(function() {
if( $(this).is(':checked') ){
// if you want to change your Div's css property
$("#myDiv").css("visibility","hidden");
}else{
// Reverting back visibility to visible
$("#myDiv").css("visibility", "visible");
}
});
});
以下示例是更改Div的显示:
$( document ).ready(function() {
$( "#myRadio" ).click(function() {
if( $(this).is(':checked') ){
// if you want to change your Div's Display None
$("#myDiv").hide();
}else{
// if you want to change your Div's Display BLOCK
$("#myDiv").show();
}
});
});
$('#myRadio').on('click', function(){
if($(this).prop('checked')){
$('#myDiv').show();
} else {
$('#myDiv').hide();
}
});
上面的脚本将检查每次点击时是否点击了天气单选按钮
$( document ).ready(function() {
$( "#myRadio" ).on("change", function() {
$("#myDiv").css("visibility" ? $(this).is(":checked") ? "visible" : "hidden");
});
});
或
$('#myRadio').on('change', function(){
if($(this).is(':checked'))
$('#myDiv').show();
else
$('#myDiv').hide();
});
从技术上讲,"更改"比"单击"更好,因此当已经选择的单选按钮单击时,您不会运行此代码。实际上,这是一回事。
如果您正在搜索纯CSS解决方案,您应该查看此问答
您的单选输入需要与要隐藏的div处于同一级别。
HTML:
<input type="radio" name="d" id="reveal"><label>reveal it</label>
<input type="radio" name="d" id="hideBack"><label>hide it</label>
<div id="email">
<form id="email-form" class="nice" action="" method="post">
<input class="input-text required email" type="text" name="EMAIL" id="id_email" placeholder="Email" />
<input type="hidden" name="name" id="id_name_email">
<a class="btn" >Apply</a>
</form>
</div>
CSS:
#reveal:not(:checked) ~ #email{
display: none;
}
#reveal:checked ~ #email{
display: block;
}
#email{
display: none;
}
Fiddle
Use可以使用带有以下css 的jquery onchange事件
$(function() {
$('input[type=radio]').on('change', function() {
$('#mydiv').toggle();
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id = "mydiv"class = "show-hide"> Hello </div>
<div>
<label>show-hide</label>
<input type="radio" name="show">
</div>
相关文章:
- 将元素的可见性绑定到另一个元素
- 通过单选按钮状态设置HTML元素的可见性
- 如何切换DIV元素的可见性
- 如何切换文档元素的可见性
- 使用 jQuery 切换 2 个元素的可见性
- 是否可以在可见性隐藏元素上对幻灯片进行动画处理
- 使用 jQuery 检查 DOM 元素的继承可见性
- 使用 elementFromPoint() 方法检查元素可见性
- 我无法测试在我的主干视图中渲染的元素的可见性
- 取消设置元素可见性,更改 innerHTML,然后转换回来
- 我应该在隐藏元素之前检查可见性吗?
- 如何正确评估“if”语句的元素可见性不透明度隐藏性
- 如何检查表达式中的元素可见性
- 如何在phantomjs中等待元素可见性
- 使用jQuery设置元素可见性
- 当垃圾邮件与悬停事件时,元素可见性的问题
- 切换元素可见性的Angular指令
- 基于元素可见性显示/隐藏警告
- 基于布尔值在ember-js中切换元素可见性
- 根据验证结果切换元素可见性