2013-02-14 5 views
0

Я использую Ajax для хранения данных в базе данных, и я загрузил два представления в функцию контроллера. Теперь, в ответ, я получаю два содержания из двух представлений. Может ли кто-нибудь сказать мне, как я могу отделить два div?Codeigniter - Отделив два вида ответа ajax

мой Аякса код folows:

$.ajax({ 
     url:base_url+'welcome/add_group_to_archieve', 
     type:'post', 
     data:data, 
     success:function(response){ 
      $(".group_value").html(response);    
      alert(response); 
      get_groups_list(); 
      $(".archieves_list").html(response); 
     }, 
     error:function(){ 
      alert('ajax failure'); 
     } 

    }); 

контроллер:

public function add_group_to_archieve() { 
     $user_id = $this->tank_auth->get_user_id(); 
     $archieve_selected = $this->input->post('archieve_selected'); 
     $this->s_model->insert_as_archieve($archieve_selected); 
     $data['get_archieved_groups'] = $this->s_model->get_archieved_groups(); 
     $data['retrieved_group_values'] = $this->s_model->retrieve_group_post(); 
     $data['file_id'] = $this->s_model->get_profile_picture($user_id); 
     $data['edited_content'] = $this->s_model->get_save($user_id); 
     $this->load->view('ajax_response_archieved_groups_list', $data); 
     $this->load->view('ajax_response_archieved_groups_select', $data); 
    } 

модель:

function get_archieved_groups() { 
     $this->db->select('*'); 
     $this->db->where('archieved', 'archieved'); 
     $data = $this->db->get('groups'); 

     return $data->result(); 
    } 

div1:

<div class="archieves clearfix" id="ajax_response_archieved_groups_list"> 
    <div class="archieves_list"> 
     <h6>Archieved Group Tags</h6> 
     <? //php echo '<pre>'; print_r($get_archieved_groups[0]); echo '</pre>'; exit; ?> 
     <ul><?php 
     if (isset($get_archieved_groups)) { 
      foreach ($get_archieved_groups as $row) { 
       ?> 
        <li><?php if (isset($row->group_name)) { ?><?php 
       echo $row->group_name; 
      } 
       ?></li> 


        <? 
       } 
      } 
      ?> 
     </ul> 
    </div> 
</div> 

div2:

<div class="creating archieves" id="ajax_response_archieved_groups_select1"> 
    <select id="archieves_select_box"> 
     <option value="<?php echo "All"; ?>"><?php echo "All"; ?></option> 
     <?php foreach ($get_archieved_groups as $row) { ?> 

      <option value="<?php echo $row->group_name; ?>"><?php echo $row->group_name; ?></option>   
     <?php } ?> 


    </select> 
</div> 
+0

Как может кто-нибудь сказать вам без солидной информации? Нет кода или вашей борьбы нет ответа? Просьба представить дополнительную информацию. –

+1

Почему у вас есть два режима загрузки? $ this-> load-> view ('ajax_response_archieved_groups_list', $ data); $ this-> load-> view ('ajax_response_archieved_groups_select', $ data); Если вы хотите загрузить только один просмотр за раз, добавьте некоторое условие перед загрузкой представления. – Nish

ответ

0

Понял, только две отдельные функции для загрузки различных взглядов и назвал две разные реакции Аякса. Ниже приведен мой код ajax:

$.ajax({ 
     url:base_url+'welcome/add_group_to_archieve', 
     type:'post', 
     data:data, 
     success:function(response){ 
      $(".group_value").html(response);    
      alert(response); 
      get_groups_list(); 
      $(".archieves_list").html(response); 
      archieved_select(); 
}, 
error:function(){ 
    alert('ajax failure'); 
}  
}); 
function archieved_select(){ 
    $.ajax({ 
    url:base_url+'welcome/add_group_to_archieve_select', 
    type:'post', 
    data:data, 
    success:function(response){ 
    $("#ajax_response_archieved_groups_select1").html(response); 
}, 
error:function(){ 
    alert('ajax failure'); 
}  
});