2014-12-29 5 views
0

두 개의 json 배열에서 실행할 필요가있는 함수가 있습니다. 각 배열에 대해 함수를 반복하면 코드가 올바르게 작성되지는 않습니다. 코드를 작성하는 것이 정확하지 않습니다. $ .each를 결합하여 json 배열에 붙어 있습니다.

Here`s 내 기능 :

$(function() { 
    $.getJSON('data.json', function(data) { 
     $.each(data.Full_Talktime, function(index, plan) { 


      var tblPara = $('<p class="col1">').html("<b>Talktime</b><br>"); 
      var tblValidity = $('<p class="col2">').html("<b>Validity</b><br>"); 
      var tblPrice = $('<p class="col3">'); 
      var tblDescription = $('<p class="row2">').html("<b>Description</b><br>"); 
      var endline =$('<div class="end">'); 
      tblPara.append('<div class="para">' + plan.Talktime + '</div>'); 
      tblValidity.append('<div class="para">' + plan.Validity + '</div>'); 
      tblPrice.append('<div class="col3para">' + plan.Price + '</div>'); 
      tblDescription.append('<div class="para">' + plan.Description + '</div>'); 
    console.log(plan); 

      $(".content").append(tblPara).append(tblValidity).append(tblPrice).append(tblDescription).append(endline); 

    }); 
    $.each(data.Special_Recharge, function(index, plan) { 


      var tblPara = $('<p class="col1">').html("<b>Talktime</b><br>"); 
      var tblValidity = $('<p class="col2">').html("<b>Validity</b><br>"); 
      var tblPrice = $('<p class="col3">'); 
      var tblDescription = $('<p class="row2">').html("<b>Description</b><br>"); 
      var endline =$('<div class="end">'); 
      tblPara.append('<div class="para">' + plan.Talktime + '</div>'); 
      tblValidity.append('<div class="para">' + plan.Validity + '</div>'); 
      tblPrice.append('<div class="col3para">' + plan.Price + '</div>'); 
      tblDescription.append('<div class="para">' + plan.Description + '</div>'); 
    console.log(plan); 

       $(".content").append(tblPara).append(tblValidity).append(tblPrice).append(tblDescription).append(endline); 

    }); 
    }); 
}); 

Here`s 내 JSON : 그냥 중복 코드를 줄이려고 노력하고있다 가정

{ 
    "Ai": [ 
    {"Full_Talktime":[ 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 300", "Description":"200 full talktime"}, 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 300", "Description":"200 full talktime"}, 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 300", "Description":"200 full talktime"}, 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 300", "Description":"200 full talktime"}, 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 300", "Description":"200 full talktime"}, 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 300", "Description":"200 full talktime"}, 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 300", "Description":"200 full talktime"} 
], 
"Special_Recharge":[ 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 3000", "Description":"200 full talktime"}, 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 3000", "Description":"200 full talktime"}, 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 3000", "Description":"200 full talktime"}, 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 300", "Description":"200 full talktime"}, 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 300", "Description":"200 full talktime"}, 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 300", "Description":"200 full talktime"}, 
{"Talktime":"300", "Validity":"Lifetime","Price":"Rs 300", "Description":"200 full talktime"} 
] 
} 
    ] 
} 

답변

0
$(function() { 
    $.getJSON('data.json', function(data) { 
     $.each(data.AI, function(index, plan) { 
      $.each(plan,function(i,obj) { 
        // i will be Full_Talktime,Special_Recharge iteratively.. 
        var recharge_instance = obj //obj will be the object and u can access like obj.Talktime; 
        // print stuff out here... 
      } 
     }); 
    }); 
}); 
0

, 당신은 함수 참조에를 사용하여 수 모두 each 년대 :

$.each(data.Full_Talktime, printPlan); 
$.each(data.Special_Recharge, printPlan); 

function printPlan(index, plan) { 
    var tblPara = $('<p class="col1">').html("<b>Talktime</b><br>"); 
    var tblValidity = $('<p class="col2">').html("<b>Validity</b><br>"); 
    var tblPrice = $('<p class="col3">'); 
    var tblDescription = $('<p class="row2">').html("<b>Description</b><br>"); 
    var endline =$('<div class="end">'); 
    tblPara.append('<div class="para">' + plan.Talktime + '</div>'); 
    tblValidity.append('<div class="para">' + plan.Validity + '</div>'); 
    tblPrice.append('<div class="col3para">' + plan.Price + '</div>'); 
    tblDescription.append('<div class="para">' + plan.Description + '</div>'); 
    console.log(plan); 
    $(".content").append(tblPara).append(tblValidity).append(tblPrice).append(tblDescription).append(endline); 
});