2014-01-07 4 views
0

Здравствуйте у меня есть проблема здесь ..Ajax живой загрузки страницы после удаления (Ajax, CodeIgniter)

Я собираюсь удалить запись с помощью Ajax и CodeIgniter .. но когда запись в базе данных удалены, вид Безразлично» т изменение .. Я думаю, что он нуждается в живую загрузке страницы, но не знает, как ..

Вот мой взгляд ..

<a class="btn btn-primary" href="#" onclick="deleteFav('<?php echo $favbook[$x]['Bibli'];  ?>')">Delete 
     </a> 

    <script> 
function deleteFav(bibli) 
    { 
     $.ajax({ 
      type :"POST", 
      url  : "<?php echo site_url(); ?>favorite_book/deleteFav", 
      async : false, 
      data : { 
         Bibli:bibli 
         }, 
      success : function(data){ 

      } 
     }); 
    } 
</script> 

Вот моя модель

function addfav($Bibli, $createTime, $username) 
    { 

     $data_fav = array(
      'Bibli' => $Bibli, 
      'FavoriteDate' => $createTime, 
      'Username' => $username, 
      'CreatedTime' => $createTime, 
      'AuditActivity' => 'I' 
     ); 
     echo $this->db->insert('msfavoriteasset',$data_fav); 

    } 

Мой контроллер

public function deleteFav() 
{ 
    $data = $this->input->post(); 

    print_r($this->input->post('Bibli')); 
    $createTime = date("Y-m-d H:i:s",strtotime('+6 hours'));   
    $success = $this->favoritebook_model->delete($data["Bibli"], $this->session->userdata('username')); 

} 
+0

ваш Аякса успех пуст. что вы пытаетесь сделать там? –

+0

Я просто удаляю строку в своих представлениях. – rena

+1

после удаления перенаправляет контроллер на отображение списка –

ответ

1

Попробуйте это: -

<a class="btn btn-primary" href="#" data-bibli="<?php echo $favbook[$x]['Bibli'];  ?>">Delete</a> 

<script> 
    function deleteFav(bibli, this) 
     { 
      $.ajax({ 
       type :"POST", 
       url  : "<?php echo site_url(); ?>favorite_book/deleteFav", 
       async : false, 
       data : { 
          Bibli:bibli 
          }, 
       success : function(data){ 
        $(this).remove(); 
       } 
      }); 
     } 

    $(document).ready(function(){ 
     $(".btn-primary").click(function(){ 
      var bibli = $(this).data("bibli"); 
      deleteFav(bibli, this); 
     }); 
    }); 
</script> 

Не забудьте добавить этот параметр на onclick="deleteFav('<?php echo $favbook[$x]['Bibli']; ?>', this)

+0

'this' неопределен здесь –

+0

Delete

+0

извините, но не работает :( – rena

0

попробуйте этот код, как на обсуждение в комментарии.

success : function(data){ 
       var delay=2000//2 seconds 
       setTimeout(function(){ 

        //your code to be executed after 2 seconds 
        location.reload(); 
       },delay) 

      } 
+0

@durgaprasad извините, но он не работает :( – rena

+0

Этот комментарий для меня? –

+0

Это работа, но могу ли я дать некоторое время перед перезагрузкой? – rena

0

Я предполагаю, что вы нужны в том, что, когда пользователь нажимает удалить, человек должен быть удален из своего списка избранного и вам необходимо обновить вид человека удаляется из списка.

Это делается следующим образом, чтобы удалить человека и отправить новый список как ответ Ajax после удаления и обновления списка.

т.е. success : function(data){ $('#favlist_div').html(data); }

Это заменяет оригинальный список с обновленным списком.

Или вы можете просто удалить человек из списка следующего

Я полагаю, вы перечисляете любимый человек с изображением и кнопкой Удалить Если эхо $ favbook [$ х] [ «Bibli»] являются уникальный идентификатор

<div id="div_<?php echo $favbook[$x]['Bibli']; ?>"> 
<img .....> 
<a class="btn btn-primary" href="#" onclick="deleteFav('<?php echo $favbook[$x]['Bibli'];?>')"> Delete </a> 
</div> 

то в успехе можно просто удалить DIV, как

success : function(data){ $('#div_'+bibli).hide(); } 
Смежные вопросы