gpt4 book ai didi

javascript - 选中 2 个复选框时更改边框颜色(同时禁用其余复选框)

转载 作者:太空宇宙 更新时间:2023-11-04 02:10:29 24 4
gpt4 key购买 nike

无法解决这个问题,不仅要在选中两个复选框后禁用其余复选框,还要将“checkbox_group”周围的边框从黑色变为红色

JavaScript 是:

$(document).ready(function() {
$(".cbox").on("click", function(){
var numberOfChecked = $('input.cbox:checkbox:checked').length;
if (numberOfChecked === 3){
$(this).prop('checked', false);
$("#checkbox_group").css({"border-color":"red"});
} else {
$("#checkbox_group").css({"border-color":"black"});
}
//console.log(numberOfChecked); // debugging
});
});

有问题的 div 的样式是:

#checkbox_group{
border: solid black 1px;
}

HTML:

<div id="checkbox_group">
<label>Sports</label>
<input type="checkbox" class="cbox" name="Sports" value="Sports" ><br>
<label>News</label>
<input type="checkbox" class="cbox" name="News" value="News" ><br>
<label>Entertainment</label
><input type="checkbox" class="cbox" name="Entertainment" value="Entertainment" ><br>
<label>Music</label>
<input type="checkbox" class="cbox" name="Music" value="Music" >
</div>

最佳答案

您只需将 if 语句更改为等于 2 而不是 3。然后您需要检查复选框并找出哪些尚未选中。

$(document).ready(function() {
$(".cbox").on("click", function(){
var numberOfChecked = $('input.cbox:checkbox:checked').length;
if (numberOfChecked === 2){
$(this).prop('checked', true);
$(".cbox").each(function(){
if ($(this).prop('checked') != true){
$(this).attr("disabled", true);
}
});
$("#checkbox_group").css({"border-color":"red"});
} else {
$("#checkbox_group").css({"border-color":"black"});
$(".cbox").each(function(){
if ($(this).attr('disabled') == "disabled"){
$(this).attr("disabled", false);
}
});
}
});
});
#checkbox_group{
border: solid black 1px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="checkbox_group">
<label>Sports</label>
<input type="checkbox" class="cbox" name="Sports" value="Sports" ><br>
<label>News</label>
<input type="checkbox" class="cbox" name="News" value="News" ><br>
<label>Entertainment</label
><input type="checkbox" class="cbox" name="Entertainment" value="Entertainment" ><br>
<label>Music</label>
<input type="checkbox" class="cbox" name="Music" value="Music" >
</div>

关于javascript - 选中 2 个复选框时更改边框颜色(同时禁用其余复选框),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39855823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com