значение модальных не отображаются, если она установлена через функцию успехи "Аякса"


У меня есть table, который отображает имя группы и т. д., и modal, который отображает список членов. Когда я нажимаю на определенное имя группы, появляется модальное имя.. Я установил значения для modal внутри функции успеха ajax, но она ничего не отображает.. Я также попытался сделать alert(response) внутри функции успеха ajax, но предупреждение не появилось.

Вот мой код.: для таблицы HTML:

<div class="row table-responsive">
  <table class="table table-bordered table-striped table-condensed" id="r_data"> 
    <thead class="header">
      <tr class="well">
        <th style="font-size: 14px;">
            Group Name
        </th>
        <th style="font-size: 14px;">
            Leader's Name
        </th>
      </tr>
    </thead>
    <tbody>
      <?php if($result != NULL){?>
        <?php foreach($result as $row){?>
        <tr>
            <td data-toggle="modal" href="#viewMember" data-id="<?php echo $row->reservedID;?>">
                <?php echo $row->groupName;?>
            </td>
            <td>
                <?php echo $row->l_name.", ".$row->f_name." ".$row->m_name;?>
            </td>
        </tr>
        <?php }?>
      <?php }?>
    </tbody>
  </table>

Вот модальное:

<div class="container" >
   <div class="row">
    <div class="modal fade" id="viewMember" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog modal-md">
            <div class="modal-content"><!--CONTENT-->
                <div class="form-horizontal"><!--Horizontal-->
                    <div class="modal-header"><!--HEADER-->
                        <button class="btn btn-primary close" data-dismiss="modal" aria-hidden="true">&times;</button>
                        <h4 id="header"></h4> 
                    </div><!--END of HEADER-->
                    <div class="modal-body"><!--BODY-->
                        <div class="welll">
                          <table class="table table-bordered table-striped table-condensed table-responsive" id="records_table">
                            <thead class="header">
                                <tr class="well">
                                  <th>
                                    Member's Name
                                  </th>
                                </tr>
                            </thead>
                            <tbody>

                            </tbody>
                          </table>
                        </div>
                    </div><!--End of BODY-->
                </div><!--END of Horizontal-->
            </div><!--END of CONTENT-->
        </div>
    </div>
  </div>
</div>

JS:

$('.viewMember').on('show.bs.modal', function (event) {
    var button = $(event.relatedTarget) // Button that triggered the modal
    var id = button.data('id')
    $.ajax({
        url: "<?php echo base_url('admin/group/getMember')?>",
        type: 'POST',
        data: { 'groupID': id},
        dataType: 'JSON',
        success: function(result){
            //alert("hi");
            $('.modal-body #header').text(result[0].fname);
        }

    });
});

Контроллер:

public function getMember(){
    $data = array();
    $id = $_REQUEST['groupID'];
    $this->load->model('group_model');
    $data = $this->group_model->getAllMember($id);

    echo json_encode($data); 
}
1 2

1 ответ:

Во-первых, я не видел вашего html-элемента, который соответствовал бы этому коду $('.modal-body #header'). Так что прямо сейчас я путаюсь с вашим вопросом в плане отображения вывода. Я предполагаю, что вы хотите отобразить в заголовке <h4 id="header"></h4>. Если да, то измените код jquery внутри блока success следующим образом:

$('.modal-header').find('#header').html(result[0].fname);

Легко сделать выбор jquery, если вы показываете, где вы хотите отобразить выходные данные.