Codeigniter Bootstrap模态删除

时间:2017-01-19 15:59:53

标签: javascript php jquery twitter-bootstrap codeigniter

所以我想使用删除按钮删除表中的一行,然后显示一个模式来确认删除过程。但是,我需要将ID(在这种情况下我使用filename)传递给URL以完成删除过程。但是,我无法通过完整的网址来删除" YES"模态中的按钮。我正在尝试模拟这样的过程:Plunker

这是代码。

模态:

<div class="modal-body text-center">
      <p> Are you sure you want to remove this from the list? </p><br><br>
      <button type="submit" class="btn btn-custom-1">Yes</button>
      <button type="button" class="btn btn-custom" data-dismiss="modal">Cancel</button>
</div>

删除按钮:

<button type="button" class="btn btn-custom-3" data-href="<?php echo base_url() . 'admin_forms/delete_carsticker/' . $row->filename; ?>" data-toggle="modal" data-target="#delete-modal"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span>  Delete </button>

使用Javascript:

  $('#delete-modal').on('show.bs.modal', function(e) {
    $(this).find('.btn-custom-1').attr('href', $(e.relatedTarget).data('href'));
});

2 个答案:

答案 0 :(得分:0)

我使用一个简单的全局变量来存储ID。

var delete_id = ""; // or a file name

$(document).on('click','.btn-custom-3', function(){
    delete_id = $(this).attr("data-href");
    // id also open the modal via jQuery too...  
});

然后当你执行YES时使用delete_id。

$(document).on('click','.btn-custom-1', function(){
    if(delete_id != ""){
        // do something with it and come the modal but you can close it like you are doing it directly in the HTML...
    }
});

答案 1 :(得分:0)

在codeigniter中我们必须使用base_url()。它是具有模型,视图和控制器的MVC框架。

对于删除,控制器中必须有一些功能才能执行删除。

  <?php if (!defined('BASEPATH')) exit('No direct script access allowed');

 class SomeClass extends CI_Controller {
   public function delete($id){
     $this->load->model('some_model');/* load model*/
      if($this->some_model->delete($id)){ /*$id is ID and delete is some function in some_model (Model)*/
        redirect('some_success_function')
       }else{
         redirect('previous_function')
       }
    }
 }

来到html(观点)

网址将如下所示

 <?php
if(isset($files)){
    foreach($files as $row){ 

        ?>
    <a href="#" data-href="<?php echo base_url() . 'admin_forms/delete_carsticker/' . $row->filename; ?>" data-toggle="modal" data-target="#confirm-delete">Delete record #23</a><br>

    <button class="btn btn-default" data-href="<?php echo base_url() . 'admin_forms/delete_carsticker/' . $row->filename; ?>" data-toggle="modal" data-target="#confirm-delete">
        Delete record #23
    </button>
<?php   }
}
?> 

此处SomeClass是包含函数class的控制器delete($id),其中$ id用于删除值。控制器调用模型函数delete($id)执行删除操作。

修改

我已经更新了代码,模型部分没有问题。我在localserver中运行你的代码在javascript中没有问题。检查数据来自控制器,使用print_r($files)

进行验证