我正在使用 Bootstrap 开关。 但是如果条件在开关中不起作用。
setTimeout(function(){
$('#oconnect').on('switchChange.bootstrapSwitch', function (event, state) {
var state1 = $('#oconnect').bootstrapSwitch('state');
alert(state1);
if(state1 === "true")
{
alert(1);
$('.user_spec_div').css('display','block');
}
else
{
alert(2);
$('.user_spec_div').css('display','none');
}
});
}, 500);
我得到了 state1 的变化值。
它返回 true
和 false
。
但如果我通过 if(state1 == "true")
或 if(state1 == "true")
检查,它就不起作用。它总是进入其他条件。
最佳答案
根据documentation , state
是一个 bool 值。因此,问题是由您尝试将其与字符串进行比较引起的。
而是将您的 if
语句更改为:
if (state1) {
// your code here...
}
事实上,您可以通过将直接传递给事件处理程序的 bool 值 state
传递给 toggle()
方法来使代码更加简洁,像这样:
setTimeout(function(){
$('#oconnect').on('switchChange.bootstrapSwitch', function(e, state) {
$('.user_spec_div').toggle(state);
});
}, 500);
关于javascript - 如果条件在 Bootstrap 开关中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44585828/