2016-07-29 8 views
-1

条件コードが常に同じ値をとる場合はJavascript。私はres.display[i].typeは1と経済であればres.display[i].typeは2JavaScriptが常に1つの値を表示する場合

$.ajax({ 
     type: frm.attr('method'), 
     url: frm.attr('action'), 
     data: frm.serialize(), 
     success: function (data) 
      { 
       var res = $.parseJSON(data); 
       if(res.status == true) 
       { 

        var results='';   

        for(var i=0; i<res.display.length; i++) 
        {  
         console.log(res.display[i].type); ` 

であれば、これは6 1、3 2が、条件が常に表示される場合2.

     if(res.display[i].type='1') 
         { 
          var b="Business"; 
         } 
         if(res.display[i].type='2') 
         { 
          var b="Economy"; 
         } 

         results +='Seat ID:'+ res.display[i].seat_id + 
            '<br>Seat:'+res.display[i].seat+ 
            '<br>Type:'+b+ 
を与えるビジネスを表示したいです

ここで変数bは常に2です。変数の代わりにres.display[i].typeを使用すると、正しく表示されます。すなわち6つの1と3の2つの数字の代わりに、私はビジネスや経済を表示したい。

        '<br><br>'; 
         $('#result').html(results); 
        } 
       } 

答えて

1

あなたの等価演算子を使用すると、=代わりの==を使用している、間違っています。

if (res.display[i].type == '1') 

if (res.display[i].type == '2') 

あなたがそれを行う方法で

if(res.display[i].type='1') 

if(res.display[i].type='2') 

を交換し、res.display[i].typeは値'1'割り当てられ、それがありますそれが常にその条件に入る理由。同じタイプの任意のタイプまたは===ため

1

使用比較演算子==、ない=あなたが1に置き換えres.display[i].type='1'まず、res.display[i].type値を書かれているし、常に1

if(res.display[i].type=='1') 
{ 
    var b="Business"; 
} 
if(res.display[i].type=='2') 
{ 
    var b="Economy"; 
} 
1

'='されてきているように、それは、値を代入代入演算子を使用する場合は、比較演算子の日付を確認する'=='を使用する必要があります。

=を使用することによって、何かに値を割り当てます。何かが何か他のものに等しいかどうかをチェック==を使用することにより

x = 1 //x now equals 1 
x = 2 //x now equals 2 

。これは、何かが何か他のものに等しいかどうかをチェック===を使用することにより、厳格な

x == 1 //is x equal to 1? (False) 
x == 2 //is x equal to 2? (True) 
true == 1 //does the boolean value of true equal 1? (True) 

ではありません。これも厳格です。

x === 1 //is x equal to 1? (False) 
x === 2 //is x equal to 2? (True) 
true === 1 //does the boolean value of true equal 1? (False) 
関連する問題