我从MySQL通过JSON获取一些值并使用它们来做一些总计。
示例:
time_tot = time_st + time_mo;
然后我试着看看总数是否为0,否则我会做一些过程。但是,似乎当值为0时,IF的第一部分不起作用。另一方面,如果总数> 0,则其他工作正常。
if (time_tot == 0) {
// hide image
} else {
// do process
}
我尝试了以下各种选项,但似乎都没有:
if (time_tot == 0)
if (time_tot === 0)
if (time_tot == "0")
if (time_tot === "0")
我还尝试将值更改为整数,但这也不起作用:
time_tot = parseInt(time_st + time_mo);
if (time_tot = 0) {
任何人都知道如何做到这一点或指出我在代码中遇到的任何问题?
更新:
HTML:
<li>Total Time: <span id="totalTime"></span>hrs</li>
<li class="imagePlaceholder"><div id="image"></div></li>
JS:
if (time_tot == 0) {
// hide image
$('.imagePlaceholder').addClass('display_none');
} else {
// do process
}
CSS:
.display_none { display:none; }
答案 0 :(得分:0)
我建议将您的值解析为数字。 (根据您的代码示例,我假设您只期望整数值,而不是浮点数。)
var time_tot = parseInt(time_st, 10) + parseInt(time_mo, 10);
if (time_tot === 0) {
// show message
} else {
// do process
}
答案 1 :(得分:0)
由于某些原因,添加类display_none不起作用。
我通过将我的JS更改为以下内容解决了这个问题,并且它运行良好。问题与time_tot是否为0无关,而是IF之后的过程。
$('.imagePlaceholder').hide();
答案 2 :(得分:0)
分别解析整数。
var t1 = parseInt(time_st);
var t2 = parseInt(time_mot);
var time_tot = t1+t2;
if (time_tot === 0){
}
同样在你的代码中,你将变量写入if条件,确保你没有真正这样做。