[英]How to revert toggle button using javascript
我正在尝试创建一个切换按钮。 这是代码: https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_switch
在我的 javascript 代码中 - 我读取了“复选框”值。 如果该值为 true,那么我添加另一个 div,这个另一个 div 也有一个关闭按钮。 当点击关闭按钮时,我从 dom 中删除了这个新添加的 div。
到目前为止,这一切都很好。
我也想切换回按钮。 我正在使用以下行将值设置为 false:
document.getElementsByName("addUserConfirmation").checked = false;
它确实将值设置为 false,但切换按钮仍保持蓝色。 如何将其重新设置为关闭?
这是代码片段:
function removeCardRevertToggleButton(button, container) {
var parentContainer = document.getElementById(container);
jQuery(parentContainer).children().remove();
document.getElementsByName("addConfirmation").checked = false;
}
<div class="boxStyle">
<span class="closeButton" requestid="" onclick="removeCardRevertToggleButton(this, "inviteContainerContext")">×</span>
</div>
这是jsfiddle:
https://jsfiddle.net/u9y2w8ev/15/
单击关闭('x')按钮时,我想将切换按钮切换为关闭。
document.getElementsByName("addConfirmation")
返回一个数组 (Element s )。 您必须访问这样的数组元素document.getElementsByName("addUserConfirmation")[0].checked
function removeCardRevertToggleButton(button) { document.getElementsByName("addUserConfirmation")[0].checked = false; }
.switch { position: relative; display: inline-block; width: 60px; height: 34px; }.switch input { opacity: 0; width: 0; height: 0; }.slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; -webkit-transition: .4s; transition: .4s; }.slider:before { position: absolute; content: ""; height: 26px; width: 26px; left: 4px; bottom: 4px; background-color: white; -webkit-transition: .4s; transition: .4s; } input:checked+.slider { background-color: #2196F3; } input:focus+.slider { box-shadow: 0 0 1px #2196F3; } input:checked+.slider:before { -webkit-transform: translateX(26px); -ms-transform: translateX(26px); transform: translateX(26px); } /* Rounded sliders */.slider.round { border-radius: 34px; }.slider.round:before { border-radius: 50%; }
<body> <label class="switch"> <input type="checkbox" name="addUserConfirmation" checked> <span class="slider round"></span> </label> <div class="boxStyle"> <span class="closeButton" onclick='removeCardRevertToggleButton(this)'>× </span> </div> </body>
我已将小提琴更新为https://jsfiddle.net/k086xnpd/
HTML Code:
<body>
<label class="switch">
<input type="checkbox" id="test" name="addUserConfirmation" checked>
<span class="slider round"></span>
</label>
<div class="boxStyle">
<span class="closeButton" onclick='removeCardRevertToggleButton(this)'>×
</span>
</div>
</body>
JS Code:
function removeCardRevertToggleButton(button) {
alert("Clicked, new value = " + button.checked);
//var parentContainer = document.getElementById(container);
//jQuery(parentContainer).children().remove();
document.getElementById("test").checked = false;
document.getElementById("test").addClass('slider:before');
}
希望这就是你要找的:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.