Javascript 未通过jquery选中复选框
在我的Javascript 未通过jquery选中复选框,javascript,jquery,html,Javascript,Jquery,Html,在我的.html <div class="col-md-9 col-sm-9 col-xs-12"> <div class=""> <label> <input type="checkbox" id="SMSCheckbox" class="js-switch" /> SMS </la
.html
<div class="col-md-9 col-sm-9 col-xs-12">
<div class="">
<label>
<input type="checkbox" id="SMSCheckbox" class="js-switch" /> SMS
</label>
</div>
<div class="">
<label>
<input type="checkbox" id="EmailCheckBox" class="js-switch" /> Email
</label>
</div>
</div>
bySMS=true
byEmail=true
我检查了我的控制台,它确实进入iftrue
分支,但不知何故,我的复选框没有被选中。奇怪的是,我在JSFIDLE上测试了它,并且它运行正常
这个奇怪问题的原因可能是什么
我不确定切换复选框是否重要,我不得不点击措辞。单击开关不会切换开关
我总是使用。当更改checked属性因某种原因无效时,请单击复选框(),不确定这是否是正确的方法。我创建了一个小函数来为您处理它:
$.fn.setCheckbox = function(value) {
var checked = $(this).attr("checked") != "undefined" &&
($(this).attr("checked") === "checked" ||
$(this).attr("checked") === true);
if (checked != value) {
$(this).click();
}
}
Plunker:在
$(文档)上。准备好了吗
如果在JSFIDLE中隔离代码时该代码有效,那么该代码就不是问题所在。但是,您没有通过MS设置或通过电子邮件设置可能是一个范围问题,我没有在函数中设置这些变量。我正在从php文件获取值。我已经测试过它确实从我的控制台输出中运行到了真正的分支代码>行。
$.fn.setCheckbox = function(value) {
var checked = $(this).attr("checked") != "undefined" &&
($(this).attr("checked") === "checked" ||
$(this).attr("checked") === true);
if (checked != value) {
$(this).click();
}
}