首页 > 解决方案 > 在 knockout.js 中具有 2 个复选框的互补状态

问题描述

我有两个复选框,我想拥有互补的状态。

例如:一个复选框最初被选中,所以自动地,另一个未被选中。如果我切换它们中的每一个,另一个也会切换,但具有互补状态。

如何使用 html 和 ko.js 做到这一点?

标签: javascripthtmlknockout.js

解决方案


不需要任何图书馆来做到这一点。您可以将它与纯 JavaScript 一起使用,如下所示。

var cb = document.querySelectorAll('input[type=checkbox]');

let toggleCb = function(i){
  let index = i ? 0 : 1;
  cb[index].checked = !cb[index].checked;
}

for(let i=0; i<=1; i++){
  cb[i].onclick = function(){
    toggleCb(i);
  }
}
<input type="checkbox" id="cb1" checked />
<input type="checkbox" id="cb2" />


推荐阅读