关于复选复选框有很多问题,但这有些不同 我想显示一个css属性,如果用户选中了任何复选框。如果用户取消选中所有复选框,则应删除css属性 我找到了这段代码
if (jQuery('#frmTest input[type=checkbox]:checked').length > 0) {
$(".css-check").css("background-color", "yellow");
} else {
$(".css-check").css("background-color", "pink");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="frmTest">
<input type="checkbox" name="vehicle" value="Car" class="test">I have a car
<br>
<input type="checkbox" name="vehicle" value="Car" class="test">I have a bike
<br>
<input type="checkbox" name="vehicle" value="Car" class="test">I have nothing
<br>
</form>
<div class="css-check">TEST</div>
但这只适用于我放置 checkbox =“true”
简而言之:
如果用户未选中复选框,则背景颜色应为粉红色。如果选中一个复选框,则背景颜色应为黄色。
答案 0 :(得分:2)
试试这个:
jQuery('#frmTest input[type=checkbox]').on('change', function () {
var len = jQuery('#frmTest input[type=checkbox]:checked').length;
if (len > 0) {
$(".css-check").css("background-color", "yellow");
} else if (len === 0) {
$(".css-check").css("background-color", "pink");
}
}).trigger('change');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="frmTest">
<input type="checkbox" name="vehicle" value="Car" class="test">I have a car
<br>
<input type="checkbox" name="vehicle" value="Car" class="test">I have a bike
<br>
<input type="checkbox" name="vehicle" value="Car" class="test">I have nothing
<br>
</form>
<div class="css-check">TEST</div>
&#13;
答案 1 :(得分:1)
您应该使用$("#frmTest input[type='checkbox']").change(...)
此事件,例如:
$("#frmTest input[type='checkbox']").change(function(){
if (jQuery('#frmTest input[type=checkbox]:checked').length > 0) {
$(".css-check").css("background-color", "yellow");
} else {
$(".css-check").css("background-color", "pink");
}
}).trigger("change");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="frmTest">
<input type="checkbox" name="vehicle" value="Car" class="test">I have a car
<br>
<input type="checkbox" name="vehicle" value="Car" class="test">I have a bike
<br>
<input type="checkbox" name="vehicle" value="Car" class="test">I have nothing
<br>
</form>
<div class="css-check">TEST</div>
&#13;
答案 2 :(得分:1)
如果您想要add
或remove
CSS属性,JQuery函数addClass
和removeClass
可能会派上用场:
$("input[type=checkbox]").change(function () {
if ($('#frmTest input[type=checkbox]:checked').length > 0) {
$(".css-check").addClass("highlight");
} else {
$(".css-check").removeClass("highlight");
}
});
CSS:
.highlight{
background-color:red;
}
您提供的代码示例错过了等待复选框更改的部分,因此您需要在chekbox上添加.change(...)
事件:
$("input[type=checkbox]").change(function () {...
上面的代码将css类highlight
添加到由css-check
类 IF 标识的元素中,选中任何复选框(即已检查的元素长度大于0)。否则它会从中删除类,因此,删除CSS属性。
答案 3 :(得分:0)
您应该在复选框上绑定change
事件,因为marking/unmarking
会触发更改事件,您可以使用.trigger(event)
触发应用的特定事件:
$('#frmTest :checkbox').change(function() {
if (jQuery('#frmTest input[type=checkbox]:checked').length > 0) {
$(".css-check").css("background-color", "yellow");
} else {
$(".css-check").css("background-color", "pink");
}
}).trigger('change');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="frmTest">
<input type="checkbox" name="vehicle" value="Car" class="test">I have a car
<br>
<input type="checkbox" name="vehicle" value="Car" class="test">I have a bike
<br>
<input type="checkbox" name="vehicle" value="Car" class="test">I have nothing
<br>
</form>
<div class="css-check">TEST</div>
&#13;
事件可以像这样缩短:
$('#frmTest :checkbox').change(function() {
$(".css-check").css("background-color", function(){
return jQuery('#frmTest input[type=checkbox]:checked').length > 0 ? "yellow" : "pink";
});
}).trigger('change');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="frmTest">
<input type="checkbox" name="vehicle" value="Car" class="test">I have a car
<br>
<input type="checkbox" name="vehicle" value="Car" class="test">I have a bike
<br>
<input type="checkbox" name="vehicle" value="Car" class="test">I have nothing
<br>
</form>
<div class="css-check">TEST</div>
&#13;
答案 4 :(得分:0)
请尝试以下代码:
<script type="text/javascript">
$(document).ready(function() {
if (jQuery('#frmTest input[type=checkbox]:checked').length > 0) {
$(".css-check").css("background-color", "yellow");
} else {
$(".css-check").css("background-color", "pink");
}
$("input[type=checkbox]").change(function () {
if (jQuery('#frmTest input[type=checkbox]:checked').length > 0) {
$(".css-check").css("background-color", "yellow");
} else {
$(".css-check").css("background-color", "pink");
}
});
});
</script>