【发布时间】:2018-01-24 22:13:53
【问题描述】:
我创建了一个由复选框控制的过滤器,并使用 jQuery 我已经 1) 删除了原来的复选框... $('.toggle_bdrms input:checkbox').css('display', 'none'); ..并使用 CSS 为复选框标签赋予方形按钮的外观。
现在我想使用 jQuery 切换复选框样式,以使用 background-color: white 填充框。我已经成功地使用 jQuery 来更改标签背景,但是 toggle() 函数没有做我想要的,即在单击标签时将背景颜色从无切换为白色并返回。
提前感谢您的任何指导/帮助。
https://jsfiddle.net/baskinco/e7utzowb/3/
$('.toggle_bdrms input').toggle(function() {
$('.toggle_bdrms input:checkbox').css('display', 'none');
$('.toggle_bdrms label').css({'background-color':'#FFFFFF', 'color':'#00a9b7'});
});
.toggle_bdrms > * {
float: left;
}
.toggle_bdrms input[type=checkbox]{
display: none;
}
.toggle_bdrms label{
display: block;
text-align: center;
letter-spacing: .15em;
border: 1px solid $white;
background-color: none;
width: 170px;
padding: 5px 8px;
margin: 5px 0;
color: $white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="row">
<form name="filter" method="post" action="" id="slidefilter">
<div class="toggle_bdrms">
<input id="onebdrm" type="checkbox" value="onebdrm">
<input id="twobdrm" type="checkbox" value="twobdrm">
<label for="onebdrm">ONE BEDROOM</label>
<label for="twobdrm">TWO BEDROOM</label>
</div>
</form>
</div>
【问题讨论】:
-
大多数用户代理不允许对复选框的该方面进行样式设置。
-
我确信我理解您链接到的文章是重复的。我已经知道如何使用 css 设置复选框的样式,我遇到的问题是如何使用 jQuery 修改样式,附件中没有提到。您还删除了指向我的 jfiddle 的链接......不再允许 jfiddle 链接吗?谢谢!
-
回复:jsfiddle。最好使用 SO 的 sn-ps 来提供代码,因为它会维护内容,以防万一小提琴进一步发生故障。
-
有道理。根据我的回复,我们是否也可以删除 [duplicate] 标志?
-
我链接到的副本解释说,样式化复选框的背景不是你可以做的,因此我的评论和我的问题的结束。
标签: javascript jquery html css checkbox