Q
当复选框被选中
1
A
回答
8
这jQuery将做到这一点:
$('#seo').change(function(){
if($(this).is(":checked")) {
$(this).addClass("checked");
} else {
$(this).removeClass("checked");
}
});
的工作示例见this jQuery fiddle。
编辑:
如果你需要在IE中工作过,使用click
事件,而不是:
$('#seo').click(function(){
if($(this).is(":checked")) {
$(this).addClass("checked");
} else {
$(this).removeClass("checked");
}
});
1
2
你可以从这个推断:jQuery toggleClass and check checkbox
但本质上,你可以使用toggleClass切换特定CSS类:
$("#seo").click(function() {
$(this).toggleClass("cssClassToToggle");
});
或使用addClass仅添加新类:
$("#seo").click(function() {
$(this).addClass("cssClassToToggle");
});
如果您正在谈论一系列复选框,您也可以使用$(":checkbox")
。
1
$('#seo').click(function() {
if (this.checked) {
$(this).addClass('selected');
} else {
$(this).removeClass('selected');
}
});
2
而且在纯JavaScript(适用于HTML5)
document.getElementById ('seo').addEventListener ('click', function (ev) {
ev.target.parentNode.classList[ ev.target.checked ? 'add' : 'remove'] ('selected');
}, false);
有也是一个classList.toggle函数,但总会有复选框和classList失去同步的危险。
2
这里是纯js,当任何复选框被选中或未选中时,这些js将用于添加和删除选定的类。
工作例如:http://jsfiddle.net/S9tSS/
var inputs = document.getElementsByTagName("input");
var checkboxes = [];
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "checkbox") {
checkboxes.push(inputs[i]);
if (inputs[i].checked) {
checked.push(inputs[i]);
}
}
}
for (var j = 0; j < checkboxes.length; j++) {
checkboxes[j].onclick = function() {
if (this.checked == true) {
this.className += " selected";
} else {
removeClassName(this, 'selected');
}
}
}
function removeClassName(e,t) {
if (typeof e == "string") {
e = xGetElementById(e);
}
var ec = ' ' + e.className.replace(/^\s+|\s+$/g,'') + ' ';
var nc = ec;
if (ec.indexOf(' '+t+' ') != -1) {
nc = ec.replace(' ' + t + ' ',' ');
}
e.className = nc.replace(/^\s+|\s+$/g,'');
return true;
}
来源:...嗯...我会发布他们,但我是一个新的使用不能发布两个以上的链路。
1
$('#seo').click(function(){
$(this).toggleClass('selected', this.checked);
});
相关问题
- 1. 当复选框被选中
- 2. 获得当复选框被选中
- 3. 设置当复选框已被选中
- 4. 杀死当复选框被选中
- 5. 禁用复选框,当复选框被选中
- 6. 当选中RecyclerView中的复选框时,多个复选框也被选中
- 7. 当复选框被点击
- 8. 当复选框2被选中时取消选中复选框1
- 9. 维克斯:选中复选框,当另一个复选框被选中
- 10. 当选中一个复选框时,多个复选框会被选中?
- 11. 力复选框被选中
- 12. JS复选框被选中
- 13. Jquery复选框被选中?
- 14. 当复选框被选中或未选中时执行操作
- 15. 取消选中当另一个复选框被选中
- 16. 当复选框被选中切换文本/选中
- 17. 当复选框被选中时,模型未被更新
- 18. UncheckAll /勾选复选框时,另一个复选框被选中
- 19. 当复选框未被选中时,struts复选框标签提交什么值
- 20. 当'全部'复选框被选中时禁用所有复选框
- 21. 当checkall复选框被选中时,获取所有复选框的值
- 22. 当复选框被选中时,从复选框控制父级5个级别
- 23. 当复选框被选中时,jQuery复制其他div元素
- 24. 当复选框被选中时显示组合框 - Extjs
- 25. 当复选框已被选中时如何显示输入框?
- 26. 当复选框被选中时显示文本框控件
- 27. 当单选按钮被选中时,复选框变为必需
- 28. MVC验证复选框 - 当另一个复选框被选中时,将复选框设置为true
- 29. 当其中一个复选框选项被选中时,取消选中复选框
- 30. jQuery的,如果复选框被选中diasble其他复选框
IIRC,在IE中,复选框需要在更改事件触发前模糊。你最好使用点击事件。 – Dennis
@丹尼斯我编辑了我的答案。我真的很讨厌IE! – Nathan