Javascript 如果条件在引导开关中不工作
我用的是引导开关。 但若条件在开关中不起作用Javascript 如果条件在引导开关中不工作,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我用的是引导开关。 但若条件在开关中不起作用 setTimeout(function(){ $('#oconnect').on('switchChange.bootstrapSwitch', function (event, state) { var state1 = $('#oconnect').bootstrapSwitch('state'); alert(state1);
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”)
进行检查,它将不起作用。它总是进入else条件。根据,状态是一个布尔值。因此,问题是由于您试图将其与字符串进行比较造成的
相反,将您的if
语句更改为:
if (state1) {
// your code here...
}
事实上,通过将直接传递给事件处理程序的布尔值state
赋予toggle()
方法,可以使代码更加简洁,如下所示:
setTimeout(function(){
$('#oconnect').on('switchChange.bootstrapSwitch', function(e, state) {
$('.user_spec_div').toggle(state);
});
}, 500);
state
更可能是一个布尔值,因此使用if(state1){…
哦,非常感谢您的快速回复。我完全忘记了布尔值。它的工作原理:)很高兴为您提供帮助。我添加了它作为一个答案谢谢您的快速回复。它工作得很好。:)没问题。我只是更新了答案,为您提供了更简单的逻辑实现。