Javascript复选框取消选中其他复选框,反之亦然
Javascript check box to uncheck other boxes and vice versa
我有以下一组复选框:
Original:
<INPUT TYPE="checkbox" ID="db1" class="db" checked>
<INPUT TYPE="checkbox" ID="db2" class="db" checked>
<INPUT TYPE="checkbox" ID="db3" class="db" checked>
<INPUT TYPE="checkbox" ID="db4" class="db" checked>
</br>
Other:
<INPUT TYPE="checkbox" ID="other" class="other" onclick="otherBoxes('other',this)">
和以下javascript:
<script language="JavaScript" src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function otherBoxes(it,box)
{
$(function()
{
$(':checkbox').click(function()
{
if (this.checked)
{
$('.db').prop('checked',false);
}
}
)
}
)
}
</script>
我要做的是设置一些东西,这样当我选中"其他"复选框时,"原始"复选框都未选中。然后我想有相反的,这样,如果一个(或多个)'Original'复选框被选中,'other'复选框被选中。
到目前为止,我所拥有的Javascript完成了第一部分,如果我选中,然后取消选中,然后再次选中'other'框,'Original'框未选中。但是,我希望它能在第一次选中复选框时工作。
它也有意想不到的后果,在'other'复选框被选中后,'original'复选框拒绝被选中,即使我取消'other'复选框。
我发现了很多类似情况的例子,但没有一个是相同的,我还没有能够适应我发现的任何一个。请问我该怎么做?
你可以试试这样做
$('.other').on('click' , function() {
$('.db').each(function(){
$(this).removeAttr('checked');
})
});
$('.db').on('click', function(){
$('.other').removeAttr('checked');
});
这里是一个工作的jsfiddle http://jsfiddle.net/vQTFm/
注:我建议你避免在id
s和class
s之间使用相似的名称,因为它可能会混淆。
您应该使用jQuery而不是在HTML中绑定事件。
这里是一些代码,做你想要的,它绑定到复选框上的变化事件,然后检查是否它是other
或db
复选框被选中和取消选中所需的复选框:
$(function() {
$('.db, #other').on('change', function() {
if (this.checked) {
if ($(this).is('#other')) {
$('input:checkbox').not('#other').prop('checked', false);
} else {
$('#other').prop('checked', false);
}
}
});
});
工作示例- http://jsfiddle.net/YD5SE/2/
使用以下JS代码:
<script type="text/javascript">
function otherBoxes(it,box)
{
if (box.checked)
{
$('.db').prop('checked',false);
}
}
</script>
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 从复选框和Selects-KnockoutJS中获取值的总和
- 选中多个具有相同名称的复选框
- 使用Jquery选择或取消选择ListView中的所有复选框
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 使用$.ajax发布多个复选框
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- 使用jquery选中/取消选中单个复选框
- Angular JS Filter-通过3个复选框进行筛选
- 如果选中了多个复选框,如何添加事件
- Javascript复选框函数:;缺少:在属性id之后"
- 复选框禁用启用反之亦然
- jQuery取消选中并选中子元素的反之亦然复选框
- Javascript复选框取消选中其他复选框,反之亦然
- 表单与复选框输入字段,反之亦然-缺少第一个值
- jQuery逻辑的问题.如果选中了另一个复选框,则需要取消选中一个复选框,反之亦然
- 如果未选中复选框,则禁用html中的文本输入,反之亦然