Javascript 如果选中了一个复选框,如何取消选中另一个复选框?
我的计算器有些问题,我有五个复选框(成本一、成本二、成本三、成本四、成本五) 当我选中costOne时,那么costTwo应该关闭,但是如果我点击这个costTwo(然后关闭),那么costOne应该关闭 我的代码只能部分工作:当我点击costOne时,你不能再点击costTwo(因为它被禁用),但当我点击costOne时,它会关闭,同时costTwo会打开-这正是我想要的 但是我不能点击成本二 我需要的第一个和第三个输入具有这种关联的行为 以下是相关代码:Javascript 如果选中了一个复选框,如何取消选中另一个复选框?,javascript,jquery,Javascript,Jquery,我的计算器有些问题,我有五个复选框(成本一、成本二、成本三、成本四、成本五) 当我选中costOne时,那么costTwo应该关闭,但是如果我点击这个costTwo(然后关闭),那么costOne应该关闭 我的代码只能部分工作:当我点击costOne时,你不能再点击costTwo(因为它被禁用),但当我点击costOne时,它会关闭,同时costTwo会打开-这正是我想要的 但是我不能点击成本二 我需要的第一个和第三个输入具有这种关联的行为 以下是相关代码: //calculator var i
//calculator
var init = $('.switch input').on('click', function() {
var value1 = 0;
var value2 = 0;
var costOne = $("#cost-one"),
costTwo = $("#cost-three");
if (costOne.is(':checked')) {
costOne.prop("checked", true);
costTwo.prop("checked", false);
} else {
costOne.prop("checked", false);
costTwo.prop("checked", true);
}
init.filter(':checked').closest('tr').each(function() {
value1 += (+$(this).find('span.cost-one').text());
value2 += (+$(this).find('span.cost-two').text());
});
$('.counter-one span').eq(0).html(value1 + ' ');
$('.counter-two span').eq(0).html(value2 + ' ');
});
试试这个jquery
$(文档).ready(函数(e){
$('.example')。在('change',function()上{
$('.example').not(this).prop('checked',false);
});
});
单选按钮已经在本地实现了这一功能,正如评论所示:
您可以使用此代码(简化以关注问题):
$('input')。在('change',function()上{
var id=$(this.prop('id');
如果(id=='成本一'| | id=='成本三'){
//确保两者的值相反:
var other=id=‘成本一’?‘成本三’:‘成本一’;
$('#'+其他).prop(“选中”),!$(this.prop(“选中”);
}
});代码>
一:
二:
三:
为什么不使用单选按钮而不是复选框从我读到的你的问题来看,它会给你想要的效果-除非我误解了你规范的一部分。是否有可能两个选项都没有选中?禁用意味着禁用<代码>禁用代码>;它无法接收用户输入…可能是标题有误导性!我更新了你的问题,删除了“disabled”的歧义,它有时似乎表示“unchecked”。请看一下这是否正确反映了您的问题。我更新了我的答案以启用收音机的“取消选中”