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

何らかの理由で、クラスdisplay_noneの追加が機能しませんでした。

JSを次のように変更することで問題を解決しましたが、完全に機能しました。この問題は、time_totが0であるかどうかではなく、IF後のプロセスに関係していました。

$('.imagePlaceholder').hide();
于 2012-12-28T16:49:20.153 に答える
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

整数を個別に解析します。

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 に答える