gpt4 book ai didi

javascript - 检测到复选框更改两次

转载 作者:行者123 更新时间:2023-12-03 11:48:35 24 4
gpt4 key购买 nike

我想使用一个复选框来显示服务在被选中时是否正在运行,如果没有运行则取消选中,这是我的复选框。

<input id="controller" type="checkbox" class="switch-small" checked > Controller

enter image description here

然后我使用此 JavaScript 来捕获事件。

在下面的代码中,我想知道服务是否正在运行,这样我就可以正确地更改其状态,例如,如果选中,并且用户单击它,他想停止服务,反之亦然。

var state = false;
if ( $('#controller').prop('checked') ){
state = true;
}

但是我下面的代码出了点问题,因为 change 被调用了两次,我不知道为什么,我只想被调用一次。

$(document).ready(function() {

$('#controller').change(function () {

if (!state){
alert("ON");
} else {
alert("OFF");
}

if ( $('#controller').prop('checked') ){
state = true;
}else{
state = false;
}

});
});

我的所有组件都有唯一的 ID。知道为什么会发生这种情况吗?

最佳答案

var state;
$('#controller').click( function () {
state = this.checked;
alert(state ? "ON" : "OFF");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<label>
<input id="controller" type="checkbox" class="switch-small" checked="checked" />
Controller
</label>

关于javascript - 检测到复选框更改两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25937796/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com