2017-11-07 10 views
-3

1 var m1000 = 0の場合、出力を非表示にするにはどうすればいいですか?たとえば、1000未満のフィールドを入力した場合はtext1000を非表示にしたいtext1000または0 * 1000 BankビルはあなたがjQueryのを使用しようとしているように見え出力ラインvar = 0の場合の出力を非表示にする方法

function doMoneyExchange() { 
     var inp1 = parseInt(document.getElementById("input1").value); 
     var m1000 = parseInt(inp1/1000); 
     var text1000 = m1000 + " * 1000 Bank Bill <br>" 
     inp1 = inp1 % 1000; 

     if (m1000 == "0") { 
      ("text1000").hide(); 
     } 

     var m500 = parseInt(inp1/500); 
     var text500 = m500 + " * 500 Bank Bill <br>" 
     inp1 = inp1 % 500; 

     var m100 = parseInt(inp1/100); 
     var text100 = m100 + " * 100 Bank Bill <br>" 
     inp1 = inp1 % 100; 

     var out = text1000 + text500 + text100; 
     document.getElementById("output").innerHTML = out; 

output image

+0

if文を確認するには? – epascarello

+0

どうすればいいのか、私は(m1000 == 0){ ( "text1000")の場合に試してみました。 } 動作しません –

+0

if文で試したことを表示できますか? –

答えて

0

から消えます。あれは正しいですか? ("text1000").hide();は私の証拠です。もしそうなら、$("text1000").hide();がうまくいくかもしれません。

0

いいえ、あなたは$.hide()を間違って使用しています。このメソッドは要素を隠すために使用されますが、プログラムは最後のすべてを1つの文字列に連結し、HTML要素に出力します。

あなたは空の文字列に、あなたの文字列変数を初期化し、その後数の変数を対応する例えば0以上であることを条件に、それらに値を割り当て、

var text1000 = ""; 
if(m1000 > 0) { 
    text1000 = m1000 + " * 1000 Bank Bill <br/>"; 
} 

リンスと繰り返している代わりに何をすべきと結果の出力文字列に0より大きい数値の行のみを含めるようにしてください。

PSあなたの出力に文字列連結を使用するつもりなら、複数の部分文字列変数は必要ありません。これにより、コードの管理が容易になりません。むしろ、単一の文字列変数を使用し、最後にすべてではなく部分的に連結することを検討してください。

var outputString = ""; 
if(m1000 === "0") { 
    outputString = outputString.concat(m1000 + " * 1000 Bank Bill <br>"; 
} 

if(m100 === "0") { 
    outputString = outputString.concat(m100 + " * 100 Bank Bill <br>"; 
} 
// repeat 
document.getElementById("output").innerHTML = outputString; 
関連する問題