2017-01-19 61 views
0

我試圖使用ajax顯示數據,它完美無缺。但我有問題如何基於多年的數據創建循環?ajax如何循環陣列

year | name | 
___________________ 
2011 | John  | 
2012 | Smith  | 
2012 | Billy  | 
2011 | Charles | 
2013 | Kitty  | 
2010 | Micheal | 
2011 | jason  | 

阿賈克斯數據

<a href="#" onclick="show_year();"> Get </a> 


function show_year() { 
    $.ajax({ 
     url : "<?php echo site_url('my_function/get_year')?>" , 
     type: "GET", 
     dataType: "JSON", 
     success: function(data) 
     { 
      $('#year').val(data.year); 
      $('#name').val(data.name); 
     }, 
     error: function (jqXHR, errorThrown) 
     { 
      alert('Error ajax'); 
     }  
    });   
} 

結果舉例

2011 
    John 
    Charles 
    Jason 
2012 
    Smith 
    Billy 
2013 
    Kitty 
+0

這不是一個真正的副本,因爲在這個問題上筆者想簡單地組簡單的數據。與「相關」的問題相比,這個問題充滿了複雜的分組和總結的不適當的重要例子。問題的標題不是一切,版主。 –

回答

0
<a href="#" onclick="show_year();"> Get </a> 
<div id="responseHtml"></div> 
<script type="text/javascript"> 
    function show_year() { 
     $.ajax({ 
      url : "<?php echo site_url('my_function/get_year')?>" , 
      type: "GET", 
      dataType: "JSON", 
      success: function(data) 
      { 
       var sortArr = data.sort(function(x, y){ 
        return x.year - y.year; 
       }); 
       var cstYear = ''; 
       var ResultHtml = ''; 
       sortArr.foreach(function(row,index){ 
        if(cstYear !== row.year){ 
         cstYear == row.year; 
         ResultHtml = '<h4>'+row.year+'</h4>'; 
        } 
        ResultHtml = '<h6 style="margin-left:30px">'+row.name+'</h4>'; 
       }); 
       $("#responseHtml").html(ResultHtml); 
      }, 
      error: function (jqXHR, errorThrown) 
      { 
       alert('Error ajax'); 
      }  
     });   
    } 
</script>