javascript - 如果条件在 Bootstrap 开关中不起作用

标签 javascript jquery twitter-bootstrap

我正在使用 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 的变化值。 它返回 truefalse

但如果我通过 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/

相关文章:

html - 声明文章的高度

javascript - 切换禁用的单选按钮并更改选中的值

javascript 当 promise 加载所有视频时

html - 使用 bootstrap 3 调整图像周围的文本

html - 使用@media 显示图像

javascript - 如何向 <li> javascript 添加多个跨度

javascript - JavaScript 对象的范围

javascript - 如何在javascript中为拖放元素添加效果

javascript - ember select 出现问题

javascript - 使用 Javascript 下载 Html5 canvas 元素作为具有文件扩展名的图像