jQuery在取消选中复选框时删除类
我有下面的jQuery函数,当选中复选框时,它会向元素添加一些类,这很好。 但是如果取消选中复选框,我想从元素中删除这些相同的类。 我猜它将与.removeClass一起使用,但我不知道在哪里添加它。jQuery在取消选中复选框时删除类,jquery,jquery-selectors,Jquery,Jquery Selectors,我有下面的jQuery函数,当选中复选框时,它会向元素添加一些类,这很好。 但是如果取消选中复选框,我想从元素中删除这些相同的类。 我猜它将与.removeClass一起使用,但我不知道在哪里添加它。 谢谢 function countDouble() { var d = $("input.double:checked").length; var s = $("input.single:checked").length; if (d === 2) {
谢谢
function countDouble() {
var d = $("input.double:checked").length;
var s = $("input.single:checked").length;
if (d === 2) {
$(".twoday input:disabled").addClass("disabled");
$(".twoday input:disabled + label").addClass("disabled");
};
if (s === 1) {
$(".oneday input:disabled").addClass("disabled");
$(".oneday input:disabled + label").addClass("disabled");
};
};
jQuery(document).ready(function(){
countDouble();
$(":checkbox").click(countDouble);
});
“disabled”与其说是一个类,不如说是一个属性
解释如下:
祝你好运 请参见以下代码:
$('#myform :checkbox').click(function() {
var $this = $(this);
// $this will contain a reference to the checkbox
if ($this.is(':checked')) {
// the checkbox was checked, call the function to addClass
} else {
// the checkbox was unchecked, call the function to removeClass
}
});
更新:澄清。单击vs。更改,下面是一个解释它的答案:
复选框恰好是一种特殊情况,其中
单击是可交换的,因为您无法触发更改事件
也不会触发单击
以下是您的代码的一个变体,可以使用。您可以在条件语句中添加额外的调用以满足您的需要
你能把html贴出来吗?谢谢你的回复。我正在将类“disabled”添加到disabled复选框中。当其中一个被选中时,它们都会被禁用。但我坚持的是,如果复选框未选中(并且它们都再次启用),则删除该类。您应该使用“更改”而不是“单击”,因为我可以使用键盘更新输入。单击事件也适用于键盘输入。看到这把小提琴了吗-
function countDouble() {
var d = $("input.double").is(':checked');
var s = $("input.single").is(':checked');
if (d === true) {
$(".twoday input").prop("disabled",true).addClass("disabled");
} else {
$(".twoday input").prop("disabled",false).removeClass("disabled");
}
if (s === true) {
$(".oneday input").prop("disabled",true).addClass("disabled");
} else {
$(".oneday input").prop("disabled",false).removeClass("disabled");
}
}
jQuery(document).ready(function(){
$('input[type=checkbox]').change( function() {
countDouble();
});
});