2016-08-30 11 views
0

私は、プレイヤーのリストをブートストラップ・モーダル内の表に取り込もうとしています。現在私は、コントローラにevent_idを送信するボタンを持っています。コントローラはクエリをモデルに送信し、データをビューに渡します。しかし、元のビュー内にモーダルをロードしたいと思います。私はこれを動作させるためにいくつかのAjaxが必要だと思っていますが、動作させるにはいくつか問題があります。誰かが私を正しい方向に向けることができると願ったり、別のルートを持って行くことができます。 ここに私が現在使用しているコードがあります。Codeigniter Bootstrap ModalをDBからAjax経由で移植していますか?

コントローラー:

function event_users($event_id) 
{ 
    $this->load->model('email_model'); 
    $data['darkteam'] = $this->event_model->dark_team_list($event_id); 
    $data['lightteam'] = $this->event_model->light_team_list($event_id); 
    $data['darkgoalie'] = $this->event_model->dark_goalie_list($event_id); 
    $data['lightgoalie'] = $this->event_model->light_goalie_list($event_id); 
    $data['event_data'] = $this->email_model->get_location_date($event_id); 
    $this->load->view('templates/header'); 
    $this->load->view('event/player_list', $data); 

} 

閲覧:

<td><a href="<?php echo base_url(); ?>event/event_users/<?php echo $e->id; ?>Player List</td> 

モーダルビュー(player_list.php):空にした後、モーダルにコンテンツを追加する

<script type="text/javascript"> 
$(window).load(function(){ 
    $('#user_event_modal').modal('show'); 
}); 
</script> 

<?php foreach ($event_data as $ed): ?> 
<?php $location = $ed->location; ?> 
<?php $date = $ed->date; ?> 
<?php endforeach; ?> 

<!--User Event List--> 
<div class="modal fade" id="user_event_modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
<div class="modal-dialog"> 
<div class="modal-content"> 
    <div class="modal-header"> 
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true" onclick="location.href='<?php echo base_url();?>event'"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button> 
    <h4 class="modal-title custom_align" id="Heading"><strong><?php echo $location . " - " . date("l, F jS @ g:ia",strtotime($date)); ?></h4></strong> 
    </div> 
    <div class="modal-body"> 
     <div class="row"> 
     <div class="col-md-6"> 
     <table class="table table-striped table-condensed table-bordered table-list events-list-table"> 
     <thead> 
     <tr> 
     <strong>Dark Team</strong> 
     </tr> 
     </thead> 
     <tbody> 
     <?php if (!empty($darkteam)): ?> 
     <?php foreach ($darkteam as $row): ?> 
      <tr> 
       <td><div style="float: left; text-align: left;"><?php echo ($row->first_name) . " " . ($row->last_name); ?></div><div style="float: right; text-align: right;"> 
       <?php if ($this->ion_auth->is_admin()) : ?> 
       <button onclick="location.href='<?php echo base_url();?>event/switch_team/<?php echo ($row->user_id . "/" . $row->event_id); ?>' " class="btn btn-primary right-block btn-xs" data-dismiss="modal"><i class="fa fa-arrow-right"></i></button> 
       <?php elseif ($row->user_id == $this->session->userdata('user_id')) :?> 
       <button onclick="location.href='<?php echo base_url();?>event/switch_team/<?php echo ($row->user_id . "/" . $row->event_id); ?>' " class="btn btn-primary right-block btn-xs" data-dismiss="modal"><i class="fa fa-arrow-right"></i></button> 
       <?php else: ?> 
       <?php endif; ?> 
       </div></td> 
      </tr> 
     <?php endforeach; ?> 
     <?php else: ?> 
     <tr> 
      <td class="bg-info" colspan="6">No users currently registered.</td> 
     </tr> 
     <?php endif; ?> 

答えて

0

はい、使用AJAX :

<!--replace <a></a> tag with element so jquery can target--> 
    <td id="update_event">Player List</td> 

    <!--add an id to the table so ajax can update on success--> 
    <table id="updateable"class="table table-striped table-condensed table-bordered table-list events-list-table"> 
AJAXのための今

//we can use a click event listener 
$('#update_event").on("click", "td", function(){ 
    var id = '<?php echo $e->id;?>'; 
    $.ajax({ 
     url: '/event/event_users/'+ id +'', 
     success: function(results){ 
         $(#updateable).empty(); //first empty table 
    })    $(#updateable).html(//append data to table) 
}) 
+0

のクリックできません。私は何か間違っているのですか?また、#update_eventの後に二重引用符を置くことを前提としていますか?申し訳ありません、私は本当にajaxを知っていません。 – XxnumbxX

+0

'.on'を試してみてください – Kisaragi

関連する問題