我从div&试图与if
条件进行比较,但每次都以错误的方式执行,为什么?请帮帮我
示例:W.r.t我的代码我将totalcount
值设为2,但它再次进入if块,它不应该去
我的代码:
var totalcount=$("#itemLocationGrid").jqGrid('getGridParam', 'records');//gives value 2
Number(totalcount);
if(totalcount===0);
{ //every time it executes. why?
alert("No item locations found to perform this ADD action.");
return false;
}
答案 0 :(得分:5)
这是分号......
if(totalcount===parseInt(0) || totalcount == "0" || totalcount == 0);
// ...here ----------------------------------------------------------^
该分号终止if
语句;接下来的是一个不的块,以if
为条件。您要删除它,以便该块与if
。
如果你想要totalcount
和jqGrid
中的数字作为字符串返回值(我不知道它确实如此,但如果它那么),以及特别是你想要一个整数(“整数”),这是你得到它的方式:
var totalcount = parseInt($("#itemLocationGrid").jqGrid('getGridParam', 'records'), 10);
// Parse it -----^ and use a radix (number base) ---------------------------------^^^^
完成后(或jqGrid
给你一个字符串),这就是你比较它的方式:
if (totalcount === 0)
{
// Do something because it's zero
}
使用==
也可以。不同之处在于,===
不会强制使用类型来匹配,==
会(例如,"0" == 0
为真,但"0" === 0
为假)。
答案 1 :(得分:1)
您需要删除if条件的分号。你也不需要使用号码。当您获得记录时,您获得的totalcount已经是整数格式( See this )。代码看起来像这样。
var totalcount=$("#itemLocationGrid").jqGrid('getGridParam', 'records');//gives value 2
if(totalcount===0)
{ //every time it executes. why?
alert("No item locations found to perform this ADD action.");
return false;
}
答案 2 :(得分:0)
试试这个:
不需要其他条件
if(totalcount===parseInt(0) || totalcount == "0" ||)
您的代码:
if(totalcount == 0)// also remove ; here
{
alert("No item locations found to perform this ADD action.");
return false;
}