Jquery boolean不在if()

时间:2017-03-04 14:30:02

标签: jquery

我可能错过了一些显而易见的东西,并且已经在很多方面证实了这一点,但似乎无法使其发挥作用;

我有一个

  

@ Html.HiddenFor(m => m.AddEdit.IsStartValue,new {id =   “IsStartValueHidden”})

我的模型中的bool值。

在我的页面上的脚本中我有这个

var start = new Boolean();
                    start = $('#IsStartValueHidden').val();
                    console.log(start);
                    if (start == true) {
                        console.log("if start true");
                        $('#StartValue').attr("disabled", "disabled");
                    }
                    else {
                        console.log("If start false");
                    }

第一个console.log写入一个真值,但它没有命中if()语句但是转到else并写入false!

我用很多方式写过它,比如if($('#IsStartValueHidden')。val()== true ..

但是我已经完成了它,它总是将值记录为true,但似乎在if部分中将其视为false并跳到其他位置。

真的很困惑怎么做!

我尝试过使用If(.. === true)

2 个答案:

答案 0 :(得分:2)

不确定,但我认为这样可行(因为我认为你的$('#IsStartValueHidden').val()返回字符串值):

                var start = $('#IsStartValueHidden').val() == "true";
                console.log(start);
                if (start == true) {
                    console.log("if start true");
                    $('#StartValue').attr("disabled", "disabled");
                }
                else {
                    console.log("If start false");
                }

答案 1 :(得分:0)

var start = new Boolean();
                    start = $('#IsStartValueHidden').val();
                    console.log(start);
                    if (start =="true") {
                        console.log("if start true");
                        $('#StartValue').attr("disabled", "disabled");
                    }
                    else {
                        console.log("If start false");
                    }