如何使用Codeigniter根据传递的ID加载Bootstrap模式中的视图?

时间:2016-03-04 08:31:35

标签: javascript php jquery twitter-bootstrap codeigniter

我有一个列表产品的类别,想要编辑。

当我点击特定类别的编辑按钮时,打开一个用于点击ID的Bootstrap模式来更新内容。

Popup即将推出,但视图未加载。

数据清单:

<?php if (is_array($category_list)) {
    foreach ($category_list as $item): ?>
          <tr>
            <td>
              <?=$item->category_name?></td>
            <td>
              <a href="#" class="btn btn-small z-depth-0" data-toggle="modal" data-target="#categoryModal" id="category_modal" data-id="<?=$item->cat_id?>" data-url="<?php $this->config->base_url();?>admin_panel/get_category/<?=$item->cat_id?>">
                <i class="mdi mdi-editor-mode-edit"></i>
              </a>
            </td>
          </tr>
          <?php endforeach;}
?>

Javascript功能:

<script type="text/javascript">
   $(document).on("click", "#category_modal", function () {
    var url = $(this).data('url');
    alert(url);
    jQuery.ajax({
      url: url,
      success: function(response)
      {
              alert(response);
            jQuery('#categoryModal .modal-content').html(response);
            jQuery('#categoryModal').modal('show', {
            });
          }
        });
  });
</script>

控制器功能:

public function get_category() {
        $cat_id = $this->uri->segment(3);
        $data['category'] = $this->admin_model->get_category($cat_id);
        $this->load->view('backend/category_popup', $data);
    }

category_popup.php查看:

<?php 
if (is_array($category)) {
    foreach ($category as $item) {
        $cat_id = $item->cat_id;
        $cat_name = $item->category_name;
    }
} else {
    $cat_id = '';
    $cat_name = '';
}

?>
<form action="#" method="post" name="form" style="margin-top: -200px;width: 100%;height: 100%" class="z-depth-4">
<div class="card-panel">
<div class="card-panel cyan lighten-3">
<h4 style="text-align: center">Update Category - <strong><?=$cat_name?></strong></h4>
  </div>
  <div class="row">

    <div class="col l6 s12">
    <label for="subcat_name">Category Name</label>
      <div class="input-field">
        <input id="cat_names" name="cat_name" type="text" class="validate" value="<?=$cat_name?>">
      </div>
    </div>
  </div>
  <div class="row">
    <div class="col l4 s12">
      <button class="btn" type="button" name="action" onclick="update_cat()">Update</button>
    </div>
  </div>
</div>

</form>

1 个答案:

答案 0 :(得分:0)

向ajax追加数据属性:

$('#category_modal').on('show.bs.modal', function(e) {
    var url = $(this).data('url');
    alert(url);
    jQuery.ajax({
       url: url,
       data:{data_id:$(this).attr('data_id')}, 
       success: function(response)
       {
              alert(response);
            jQuery('#categoryModal .modal-content').html(response);

          }
        });
  });

并且你的控制器改变了:

$cat_id = $this->input->get('data_id');