Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 满足第一个条件时正在执行的else块_Javascript_Jquery_Asp.net Mvc_Razor - Fatal编程技术网

Javascript 满足第一个条件时正在执行的else块

Javascript 满足第一个条件时正在执行的else块,javascript,jquery,asp.net-mvc,razor,Javascript,Jquery,Asp.net Mvc,Razor,我知道有很多这样的问题,但我找不到一个能回答根本问题的 我有一个简单的代码块,其中IF条件为true,但else块仍然执行。我已在调试控制台中检查该条件是否为真 if (@Model.MajorAvailable.ToString().ToLower() == 'true') { $("#checkyes").attr('checked', true); } else { $("#checkno").attr('checked', true);

我知道有很多这样的问题,但我找不到一个能回答根本问题的

我有一个简单的代码块,其中IF条件为true,但else块仍然执行。我已在调试控制台中检查该条件是否为真

    if (@Model.MajorAvailable.ToString().ToLower() == 'true') {
        $("#checkyes").attr('checked', true);
    } else {
        $("#checkno").attr('checked', true);
    }

这段代码看起来不错,但正如@Bravo所说,您仍然在比较字符串和布尔值@Model.MajorAvailable.ToString().ToLower()这一行返回stirng right?

删除“true”中的引号似乎起到了作用-这很奇怪,因为调用了ToString()后,值不再是布尔值了

不可能发生这种情况。
console.log(@Model.MajorAvailable.ToString().ToLower())
应用程序中的其他元素的输出是什么?您粘贴的内容没有问题。我们可以看看调用此代码块的位置吗?看起来要么是一个带有一些奇怪检查的循环,要么是你在别处修改了你的
checkno
。@Dan是的,可能是这样的that@Lukasz032它只是在脚本中的文档就绪部分,“true”不是布尔值,它实际上是一个字符串。
if (@Model.MajorAvailable.ToString().ToLower() == true) {
    $("#checkyes").attr('checked', true);
} else {
    $("#checkno").attr('checked', true);
}