使用jQuery将toggleClass添加到复选框中
Add toggleClass to a Checkbox with jQuery
当input="checkbox"被选中时,我如何将toggleClass()应用于它?当选中时,我正在尝试添加类"calcButtonOn":
jQuery(function() {
var total = 0;
jQuery("input").click(function() {
total = 0;
jQuery("input:checked").not('input[value="reset"]').each(function() {
total += parseFloat(jQuery(this).val());
});
jQuery("#Totalcost").html("Save up to " + total + "%");
});
});
使用JQuery选中所有复选框,并在change
事件上添加一个事件处理程序:
jQuery("input[type=checkbox]").change(function(){
jQuery(this).toggleClass("calcButtonOn", this.checked);
});
示例JSFiddle
我建议,假设您希望在检查元素时显示该类,并在随后取消检查元素时删除该类:
jQuery('input[type=checkbox]').on('change', function () {
$(this).toggleClass('active', this.checked);
});
jQuery('input[type=checkbox]').on('change', function () {
$(this).toggleClass('active', this.checked);
});
input {
display: block;
padding: 0.5em;
margin: 0 0 1em 0;
box-shadow: none;
}
input.active {
box-shadow: 0 0 1em 0.25em #f00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
如果您的任何复选框在页面加载时被选中(例如,通过checked
属性),那么值得进一步链接change()
方法(不带函数回调)以触发事件:
jQuery('input[type=checkbox]').on('change', function () {
$(this).toggleClass('active', this.checked);
}).change();
jQuery('input[type=checkbox]').on('change', function () {
$(this).toggleClass('active', this.checked);
}).change();
input {
display: block;
padding: 0.5em;
margin: 0 0 1em 0;
box-shadow: none;
}
input.active {
box-shadow: 0 0 1em 0.25em #f00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" checked />
<input type="checkbox" />
<input type="checkbox" checked />
<input type="checkbox" />
参考文献:
- 属性等于(
[attribute=value]
)选择器 change()
on()
toggleClass()
使用:
$(".Your_Checkbox_Class")each(function(){
if ($(this).is(':checked') ){
$(this).toggleClass("Your_New_Class");
}
});
解释:遍历所有复选框(希望你已经像我上面给出的那样给它们Class)。然后检查它是否被选中,如果是,切换类。
编辑
你的问题不是百分之百清楚。但如果您希望事件只点击一个复选框并只切换该复选框,则使用
$(".Your_Checkbox_Class").click(function(){
var id = $(this).attr("id");
$("#"+id).toggleClass("Your_New_Class");
})
说明:如果复选框被选中,则切换类。我假设您在DOM加载上有适当的类。就像在加载DOM之后,如果已经勾选了一个复选框(来自服务器端),那么它就已经有了checked_element
的类。
相关文章:
- 如果选中了多个复选框,如何添加事件
- 如何在metrojs中将复选框添加到数据表中
- jqGrid如何将多个复选框添加到一列中
- 使用jquery选中/取消选中复选框添加/删除值
- 使用复选框添加到 JavaScript 中的字符串
- 使用带有javascript的复选框添加/删除多行
- 如何将复选框添加到剑道网格's工具栏
- Jquery Validator为复选框添加方法验证
- Javascript复选框添加值Textarea
- 向每个复选框添加一个eventListener
- 将复选框添加到总数的Javascript函数
- 在angularjs中动态地向复选框添加/移除checked属性
- 如何将动态创建的复选框添加到引导行
- Codeigniter -通过jquery复选框添加多个项目到购物车
- 将复选框添加到jquery mobile中的可折叠列表标题中
- 如何将复选框添加到JQuery Select2插件中
- 将“全选”复选框添加到更新对象数组的复选框列表中
- 将复选框添加到圣杯中的列表
- 如何将复选框添加到 #{{链接到}} 帮助程序中
- 使用 JQuery 将复选框添加到无序列表