1

我通过 JSON 从 MySQL 获取一些值,并使用它们进行一些总计。

例子:

time_tot = time_st + time_mo;

然后我想看看总数是否为0,否则我会做一些处理。但是,当值为 0 时,IF 的第一部分似乎不起作用。另一方面,如果总数 > 0,则 else 工作正常。

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; }
4

3 回答 3

0

我建议将您的值解析为数字。(根据您的代码示例,我假设您只期望整数值,而不是浮点数。)

var time_tot = parseInt(time_st, 10) + parseInt(time_mo, 10);

if (time_tot === 0) { 
  // show message           
} else {
  // do process
}
于 2012-12-28T16:30:20.873 回答
0

由于某种原因,添加类 display_none 不起作用。

我通过将我的 JS 更改为以下内容解决了这个问题,并且效果很好。这个问题与time_tot是否为0无关,而与IF之后的过程有关。

$('.imagePlaceholder').hide();
于 2012-12-28T16:49:20.153 回答
0

分别解析整数。

var t1 = parseInt(time_st);
var t2 = parseInt(time_mot);

var time_tot = t1+t2;

if (time_tot === 0){
}

同样在您的代码中,您在 if 条件中写入了变量,请确保您实际上没有这样做。

于 2012-12-30T04:59:09.637 回答