2016-09-04 3 views
0

私はコンバータを終了しようとしていますが、ある時点では動作していましたが、コードの一部が機能しなくなりました。 LBSからの任意の変換と同様。私は、コードの無関係な部分が他の部分に影響を及ぼしていることを知りました。なぜなら、コードの本質的な部分を消してから部分的に貼り付けてしまったからです。たとえば、LBSを他のユニットに変換するコードの部分だけを置くと、下の例のようにうまく動作しますが、グラムの変換を行うとうまくいきません。同じクリック機能を使用するだけで、コードのさまざまな部分が互いに影響を及ぼしているのはなぜですか?JQueryのさまざまな部分がJQueryの他の部分に影響を与えるのはなぜですか?

var main = function() { 
    var bttn = $('.sbs'); 
    bttn.click(function(){ 
    var rslt = $('#result'); 
    var num = $('#nmbr').val(); 
    var inpt = $('#slct1').val(); 
    var outpt = $('#slct2').val(); 

    //Converstion from pounds 
    if(inpt == 'pounds'){ 
     if(outpt == 'grams') { 
     var pGrams6 = num * 453.59; 
     rslt.text(pGrams6); 
     } if(outpt == 'kiloGrams') { 
     var pKilo6 = num * 2.2; 
     rslt.text(pKilo6); 
     } if(outpt == 'ounces') { 
     var pOunce6 = num * 16; 
     rslt.text(pOunce6); 
     } if(outpt == 'milliGrams') { 
     var pMilo6 = num * 453592; 
     rslt.text(pMilo6); 
     } 
    } 

    //Conversion from grams 
    if(inpt = 'grams') { 
     if(outpt == 'pounds') { 
     var pPound5 = num/453.59; 
     rslt.text(pPound5); 
     } if(outpt == 'kiloGrams') { 
     var pKilo5 = num/1000; 
     rslt.text(pKilo5); 
     } if(outpt == 'ounces') { 
     var pOunce5 = num * 28.35; 
     rslt.text(pOunce5); 
     } if(outpt == 'milliGrams') { 
     var pMilo5 = num * 1000; 
     rslt.text(pMilo5); 
     } 
    } 
    }); 
} 

$(document).ready(main); 

FULL CODE:あなたは==、ない=たい

if(inpt = 'grams') { 

https://jsfiddle.net/qete67cz/

+0

if(inpt = 'grams')が1つの割り当てです。 – fbohorquez

+0

また、 'if(inpt === outpt)rslt.text(num)'のようなものを追加してください。 – redneb

答えて

2

この行の問題です。そのままですが、ifテストはとなります。trueです。空でない文字列を割り当てるためです。

一般的に、何らかの値やその他の値があるかどうかをテストするときは、if文の単純なシーケンスの代わりにif ... else ifを使用します。

関連する問題