将两个复选框绑定在一起
Binding two checkboxes together
我有两个复选框
<input class="checkbox1" type="checkbox" name='1' id="example1" value="example1"/>
和
<input class="checkbox2" type="checkbox" name='2' id="example2" value="example2"/>
是否可以将这两个复选框连接起来,这样无论一个复选框的"checked"属性发生什么,另一个也会发生什么?它需要为工作
用户更改检查状态
某些javascript函数更改检查状态
我的实际例子非常复杂,有很多复选框。因此,我正在寻找一种解决方案,在这种解决方案中,我可以确定两个复选框之间的连接,而不必再考虑它。谢谢carl
当然可以,但如果它们的行为相同,为什么要有两个复选框?也许一个复选框会更方便。:)
不管怎样,有了一个jQuery,这应该可以正常工作。此代码段允许您为复选框指定一个组,以便它自动选择同一组中的其他复选框。
当然,例如,你可以很容易地将其更改为id列表,因此行为不需要是双向的,但我无法从你的问题中完全推断出你需要什么。无论如何,添加额外的复选框只需要它们具有正确的属性。
因为它以这种方式使用on
函数,所以它甚至应该适用于动态添加的复选框。
$(document).on('click', 'input[type="checkbox"][data-group]', function(event) {
// The checkbox that was clicked
var actor = $(this);
// The status of that checkbox
var checked = actor.prop('checked');
// The group that checkbox is in
var group = actor.data('group');
// All checkboxes of that group
var checkboxes = $('input[type="checkbox"][data-group="' + group + '"]');
// All checkboxes excluding the one that was clicked
var otherCheckboxes = checkboxes.not(actor);
// Check those checkboxes
otherCheckboxes.prop('checked', checked);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" data-group="group1">
<input type="checkbox" data-group="group2">
<input type="checkbox" data-group="group3">
<input type="checkbox" data-group="group1">
<input type="checkbox" data-group="group2">
<input type="checkbox" data-group="group3">
<input type="checkbox" data-group="group1">
您可以在复选框上绑定一个更改事件处理程序,并根据更改的复选框的值设置其他复选框的数值。
$(function() {
$(".checkbox_class").change(function() {
var x = this.checked;
$(".checkbox_class").prop("checked", x);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="checkbox1 checkbox_class" type="checkbox" name='1' id="example1" value="example1" />
<input class="checkbox2 checkbox_class" type="checkbox" name='2' id="example2" value="example2" />
它可以绑定以更改或单击事件
$("#example1").click(function (){
$("#example2").click();
});
$("#example2").click(function (){
$("#example1").click();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="checkbox1" type="checkbox" name='1' id="example1" value="example1"/>
<input class="checkbox2" type="checkbox" name='2' id="example2" value="example2"/>
相关文章:
- 将角度材质设计复选框绑定到控制器中的数组
- 根据 Knockout.js 中的复选框绑定将来的日期选择器最大日期
- 将复选框绑定到 AngularJs 中的对象值
- 将两个复选框绑定在一起
- 复选框绑定的选中状态倒置在Chrome
- 如何使用angular数据绑定将一个复选框绑定到一个select disabled属性
- Ember.js复选框绑定初始值设置不正确
- 如何使复选框绑定到数据模型中的布尔值
- AngularJS用复选框绑定对象
- 将复选框绑定到Ember 2+中一个数组的元素
- 如何使用knockout.js将复选框绑定到谷歌地图标记
- 在Ember.js中将选中的复选框绑定到数组属性
- 我如何将输入复选框绑定到Javascript函数
- 材质角度复选框绑定自定义输入复选框
- 取消复选框绑定
- angalrjs中的复选框绑定
- js -将多个复选框绑定到单个数组
- 如何在knockout js中为复选框绑定更改事件
- VueJS:从文本框中的多个复选框绑定中获取值
- 角度复选框绑定不正确