2017-04-03 27 views
0

我有一個控制器中的函數,將返回一個包含dataBase數據的數組,該數據將作爲json文件發送到我的成功函數, 我想在我的模式顯示在一個div那些信息,我不能這樣做,所以這裏是我的控制器功能:在ajax模式下顯示數組中的數據與成功功能

public function list_salle($id) 
{ 

$data= $this->salle_model->get_all_salle($id); 


    $this->output->set_output(json_encode($data)); 
      } 

,這裏是我的js函數及其AJAX:

function consulter_salle(id) 
     { 

          $.ajax({ 
       url : "<?php echo site_url('index.php/batiment/list_salle')?>/"+id, 
       type: "POST", 
       dataType: "JSON", 
       success: function(data) 
       { 

        var table_header = "<table class='table table-striped table-bordered'><thead><tr><td>head_x</td><td>head_y</td></tr></thead><tbody>"; 
        var table_footer = "</tbody></table>"; 
       var html =""; 



           for (row in data)  
       { 
        html += "<tr><td>"+data.id +"</td><td>"+data.libelle+"</td></tr>"; 
      } 

       var all = table_header +html+ table_footer; 



     // show bootstrap modal when complete loaded 
       $('.modal-title').text('Test'); 
       $('#salle_list').html(all); 
          $('#modal_list').modal('show'); 

       }, 
       error: function (jqXHR, textStatus, errorThrown) 
       { 
        alert('Error displaying data'); 
       } 
      }); 

     } 

這裏是我的模態:

<div class="modal fade" id="modal_list" role="dialog"> 
     <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
      <h3 class="modal-title">Liste des salles</h3> 
      </div> 
      <div class="modal-body form"> 
      <form action="#" id="form" class="form-horizontal"> 

       <div class="form-body"> 
      <div id="salle_list"></div> 


       </div> 
       </form> 
       <div class="modal-footer"> 
       <button type="button" id="btnSave" onclick="save()" class="btn btn-primary">Save</button> 
       <button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button> 
       </div> 
      </div><!-- /.modal-content --> 
      </div><!-- /.modal-dialog --> 
     </div> 
    </div> 

因此,數據是作爲json文件正確發送,但我無法顯示它,我認爲問題在循環和.html功能,請幫助 謝謝!

+0

如何'data'樣子?你可以發佈樣本嗎? –

+0

[{「id」:「1」,「libelle」:「45」,「id_bat」:「1」}] –

+0

so ??有什麼建議麼? –

回答

0

我找到了一個解決方案:

success: function(data) 
       { 



        var table_header = "<table class='table table-striped table-bordered'><thead><tr><td>Identifiant</td><td>Libelle</td></tr></thead><tbody>"; 
        var table_footer = "</tbody></table>"; 
       var html =""; 

       data.forEach(function(element) { 
       html += "<tr><td>"+element.id +"</td><td>"+element.libelle+"</td></tr>"; 
      }); 



       var all = table_header +html+ table_footer; 

       $('.modal-title').text('Liste des salles'); 

       $('#salle_list').html(all); 
          $('#modal_list').modal('show'); 

       } 
0

你在ajax中的循環看起來應該是一個foreach,但即使這樣也是錯誤的。你正在遍歷一個json對象,看看這個問題,如果你想要如何做到這一點的一些選擇:How do I iterate over a JSON structure?。一個答案有讓這樣一個循環:

$(jQuery.parseJSON(JSON.stringify(data))).each(function() { 
    html += "<tr><td>"+this.id +"</td><td>"+this.libelle+"</td></tr>"; 
}