2017-05-01 16 views
1

ここに少しコードがあります。このコードは、複数のelseとは動作しません。誰でも私を麻痺させることができます。ajax/javascript関数でelse/nestedを使用する方法

私は、CIコントローラからajaxにデータを取得しています。このajax.Iで関数を実行しています。ここでは関数を複数回呼び出す必要があります。ここでは、以下のコードでこれを行っています。他の人と一緒に働いても問題ありません。入れ子になっていたり、複数の場合は他のものとは連携していません。

<script> 
    function createDiv(data) { 
    var dynamicHTML = ''; 
    var innerContent = ''; 
    for (var i = 0; i < data.res2.length; i++) { 
    innerContent += '<div class="input-group" style="border-color:#3D8EB9; box-shadow: 1px 1px 1px 1px #888888; margin-bottom: 3px; background-color: #fff;">' + 

    if(data.res2[i].paid_type == 1){ 
     if(data.res3.Status == "success"){ +    
      '<span class="input-group-btn" style="padding-top:10px;">' + 
      '<button class="btn btn-info" type="button">Analysis 1</button>' + 
      '</span>' : '<label style="padding:10px 10px;">' + data.res2[i].Paper_Name + '</label>' +  
      '<span class="input-group-btn" style="padding-top:10px;">' + 
      '<button class="btn btn-info" type="button">Analysis 1</button>' + 
      '</span>'+ 
     } else { + '<label style="padding:10px 10px;">' + data.res2[i].Paper_Name + '</label>' +   
     '<span class="input-group-btn" style="padding-top:10px;">' + 
     '<button class="btn btn-info" type="button">Buy</button>' + 
     '</span>'+ 
     }  
    } 

    dynamicHTML += '<div id="' + data.res2.Paper_Type + '" class="tabcontent" style="border:none;">' + innerContent + '</div>'; 
    $('div#tabs_data').append(dynamicHTML); 
} 
</script> 

私はelse文は、それは私にあなたが文字列を連結しようとしている

SyntaxError: expected expression, got keyword 'if'

+0

上記のコードでは、「if」構文は表示されません。条件付き演算子しかありません。 – Ninjaneer

+0

動作していないコードを投稿してください。 – Ananth

+0

これは、else文の場合にエラーが発生するためです。私は私の質問の下でそれを言う。 –

答えて

1

のようなエラーを表示する場合に使用してみてください。途中でifなどの制御フロー文を挿入することはできません。

セミコロンで最初の文字列を終了し、次にifの中でinnerContent +=の後に文字列を連結して連結します。このよう

<script> 
    function createDiv(data) { 
    var dynamicHTML = ''; 
    var innerContent = ''; 
    for (var i = 0; i < data.res2.length; i++) { 
     innerContent += '<div class="input-group" style="border-color:#3D8EB9; box-shadow: 1px 1px 1px 1px #888888; margin-bottom: 3px; background-color: #fff;">'; 

     if (data.res2[i].paid_type == 1) { 
     if (data.res3.Status == 'success') { 
      innerContent += '<span class="input-group-btn" style="padding-top:10px;">' + 
      '<button class="btn btn-info" type="button">Analysis 1</button>' + 
      '</span>' + '<label style="padding:10px 10px;">' + 
      data.res2[i].Paper_Name + '</label>' + 
      '<span class="input-group-btn" style="padding-top:10px;">' + 
      '<button class="btn btn-info" type="button">Analysis 1</button>' + 
      '</span>'; 
     } else { 
      innerContent += '<label style="padding:10px 10px;">' + data.res2[i].Paper_Name + '</label>' + 
      '<span class="input-group-btn" style="padding-top:10px;">' + 
      '<button class="btn btn-info" type="button">Buy</button>' + 
      '</span>'; 
     } 
     } 

     dynamicHTML += '<div id="' + data.res2.Paper_Type + '" class="tabcontent" style="border:none;">' + innerContent + '</div>'; 
     $('div#tabs_data').append(dynamicHTML); 
    } 
    } 
</script> 
+0

+1、私にこれを打つ。また、12行目にコロンがありますが、それが何であるかはわかりません。ここに: '': '<ラベルスタイル= "p ..... –

+0

ええ、ちょうど、フォーマットして気付いた適切なエディタに入れてください:) –

0

var innerContent = ''; 
 
innerContent += '<div class="input-group" style="border-color:#3D8EB9; box-shadow: 1px 1px 1px 1px #888888; margin-bottom: 3px; background-color: #fff;">'; 
 

 
if (data.res2[i].paid_type == 1) { 
 
    if (data.res3.Status == "success") { 
 
    innerContent += '<span class="input-group-btn" style="padding-top:10px;">' + 
 
     '<button class="btn btn-info" type="button">Analysis 1</button>' + 
 
     '</span>' 
 
    }else { 
 
    innerContent += '<label style="padding:10px 10px;">' + data.res2[i].Paper_Name + '</label>' + 
 
     '<span class="input-group-btn" style="padding-top:10px;">' + 
 
     '<button class="btn btn-info" type="button">Analysis 1</button>' + 
 
     '</span>' 
 
    } 
 
} else { 
 
    innerContent += '<label style="padding:10px 10px;">' + data.res2[i].Paper_Name + '</label>' + 
 
    '<span class="input-group-btn" style="padding-top:10px;">' + 
 
    '<button class="btn btn-info" type="button">Buy</button>' +'</span>' + 
 
}

またはあなたはそれの文字列を返す関数にすることができます。

var innerContent = ''; 
innerContent += '<div class="input-group" style="border-color:#3D8EB9; box-shadow: 1px 1px 1px 1px #888888; margin-bottom: 3px; background-color: #fff;">' + getString(data); 

私たちのgetStringは、条件をチェックして結果を返します。

function getString(data){ 
    var processedStr = '' 
    if (data.res2[i].paid_type == 1) { 
     if (data.res3.Status == "success") { 
     processedStr += '<span class="input-group-btn" style="padding-top:10px;">' + 
      '<button class="btn btn-info" type="button">Analysis 1</button>' + 
      '</span>' 
     }else { 
     processedStr += '<label style="padding:10px 10px;">' + data.res2[i].Paper_Name + '</label>' + 
      '<span class="input-group-btn" style="padding-top:10px;">' + 
      '<button class="btn btn-info" type="button">Analysis 1</button>' + 
      '</span>' 
     } 
    } else { 
     processedStr += '<label style="padding:10px 10px;">' + data.res2[i].Paper_Name + '</label>' + 
     '<span class="input-group-btn" style="padding-top:10px;">' + 
     '<button class="btn btn-info" type="button">Buy</button>' +'</span>' + 
    } 

return processedStr; 
} 
関連する問題