建立开关按钮之间的关系
Building relations between switch buttons
伙计们,我正试图使开关按钮之间的关系。每个按钮代表一个设备。例如,如果我关闭x设备,它将关闭y和z。但如果y关闭,它将打开更多。我尝试用switch case语句,但我的代码变得混乱。我试图找到它是一个javascript库,但没有结果。任何想法?
function hm1() {
var hlektro1 = document.getElementById("device_engine1").checked;
switch (hlektro1) {
case (hlektro1 = true):
document.getElementById("device_x").checked = false;
document.getElementById("device_1").checked = false;
document.getElementById("device_NAUTICAL").checked = false;
document.getElementById("device_2").checked = false;
break
case (hlektro1 = false):
document.getElementById("device_x").checked = true;
document.getElementById("device_1").checked = true;
document.getElementById("device_NAUTICAL").checked = true;
document.getElementById("device_2").checked = true;
break
}
}
function gps() {
var gpsdevice = document.getElementById("device_x").checked;
switch (gpsdevice) {
case (gpsdevice = true):
document.getElementById("device_55").checked = false;
document.getElementById("device_123").checked = false;
document.getElementById("device_NAUTICAL").checked = false;
document.getElementById("device_CAMERA").checked = false;
document.getElementById("device_14").checked = false;
break
case (gpsdevice = false):
document.getElementById("device_55").checked = true;
document.getElementById("device_123").checked = true;
document.getElementById("device_NAUTICAL").checked = true;
document.getElementById("device_CAMERA").checked = true;
document.getElementById("device_14").checked = true;
break
}
}
开关按钮样例:
<div class="onoffswitch">
<input type="checkbox" name="engine1" class="onoffswitch-checkbox" id="device_Ηλεκτρομηχανη1" checked>
<label class="onoffswitch-label" for="device_engine1" onclick="hm1()">
<span class="onoffswitch-inner"></span>
<span class="onoffswitch-switch"></span>
</label>
</div>
将id
添加到所有依赖的复选框中,作为class
。
在change
的"控制"复选框中获取所有依赖的复选框,并相应地设置checked
状态。
像这样:
document.querySelector("#control").addEventListener("change", function(e) {
var checkbox = e.target,
dependendCheckboxes = document.querySelectorAll("." + checkbox.id);
for (var i = 0; i < dependendCheckboxes.length; i++) {
dependendCheckboxes[i].checked = checkbox.checked;
}
});
<div id="control">
<label><input type="checkbox" id="device_engine1" />device_engine1</label>
<label><input type="checkbox" id="device_x" />device_x</label>
</div>
<div>
<input type="checkbox" class="device_engine1" />
<input type="checkbox" class="device_x" />
<input type="checkbox" class="device_engine1 device_x" />
</div>
相关文章:
- JSDoc:模块和名称空间之间的关系是什么
- html5视频播放器和视频js之间的关系
- 两个集合mongodb之间的关系
- angular2@组件和类之间的关系
- 在Knockout.js模型中创建项之间的关系
- Angular 2,在没有直接关系的两个组件之间共享一个对象
- 视图和路由器之间的主干关系
- JavaScriptV5中的绑定和JQuery之间有任何关系吗
- 高图 - 分组/近似后保持多个系列之间的关系
- 父关系指令和子关系指令之间的绑定
- 绘制的节点和Google图表/可视化中的数据节点之间的关系
- 如何解决存储中操作之间的依赖关系
- 负载角度依赖关系之间的区别是什么,共享模块的最佳方式是什么
- 如何管理原始对象之间的数据依赖关系
- undercore.js-包含和减少之间的关系
- 如何在不让web组件的原型进入全局命名空间的情况下维护它们之间的依赖关系
- 什么's JavaScript和HTML之间的关系
- 命名空间和词法范围之间的关系是什么
- JS:“data-background-color”和.data(“background-color”)之间的关系
- 突出显示一组节点及其之间的关系