Как передать значение Id запроса модальному? - PullRequest
0 голосов
/ 04 марта 2019

Когда я нажимаю кнопку «Изменить», модальный режим открыт, но в скрытом поле нет, я не могу получить RequestId.Пожалуйста, помогите мне, как передать динамический запрос в модальную форму?

Это я буду использовать в рамках Codeigniter.

Если есть возможность переписать код, я буду очень полезен.

<table width="100%" class="table table-striped">
    <thead class="thead-dark">
        <tr>
            <th scope="col" align="left">#</th>
            <th scope="col">Request Id</th>
            <th scope="col">Agent Id</th>
            <th scope="col">Type</th>
            <th scope="col">Value</th>
            <th scope="col">Comment</th>
            <th scope="col"> Request Date & Time</th>
            <th scope="col">Status</th>
            <th scope="col">Action</th>
        </tr>
    </thead>
    <tbody>
        <?php 
          $sn=1;
          foreach ($result as $row) { 
              //print_r($row);die();
        ?>
        <tr>
            <td align="left"><?php echo $sn ?></td>
            <td><?php echo $row['rid'];?></td>
            <td><?php echo $row['aid'];?></td>
            <td><?php echo $row['type'];?></td>
            <td><?php echo $row['value'];?></td>
            <td><?php echo $row['comment'];?></td>
            <td><?php echo $row['request_time'];?></td>
            <td><button class="btn btn-danger btn-sm">Open</button></td>
            <td>
              <a data-toggle="modal" href="<?php base_url()?>#myModal" class="btn btn-warning btn-sm">Edit</a>
            </td>
        </tr>
        <?php $sn++;}?>
    </tbody>
</table>

Ответы [ 5 ]

0 голосов
/ 04 марта 2019

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

<a href="javascript:void(0)" onclick="get_modal_details('<?php echo $row['rid'];?>')" class="btn btn-warning btn-sm">Edit</a>

Надеюсь, $row['rid'] - это ваш уникальный идентификатор, а вот HTML-модальный код

<div class="modal" id="detail_modal_pop" style="overflow: scroll;"> 
      <div class="modal-dialog modal-lg"> 
        <div class="modal-content">
          <div class="modal-header" >
            <button type="button" class="close close_c_modal" >&times;</button>
            <h4 class="modal-title c_modal">Details</h4>
          </div>
          <div class="modal-body"> 
             <h6 id="load_wait" class="text-center">Please wait...</h6>
             <div id="detail_modal_pop_result" style="display:none;"></div> 
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-default close_c_modal" >Close</button>
          </div>
        </div> 
      </div>
 </div>

Чтобы отобразить модальное нажатие на кнопку редактирования, используйте следующий скрипт:

<script>
function get_modal_details(rid) 
{  
    $('#detail_modal_pop').fadeIn(200);  
    $("#detail_modal_pop_result").hide();
    $("#load_wait").show(); 
    jQuery.ajax({
    url: "<?php echo base_url() ?>some_controller/controller_method", 
    data: { rid: rid },
    type: "POST",
    success:function(data){
        $("#load_wait").hide(); 
        $("#detail_modal_pop_result").show();
        $("#detail_modal_pop_result").html(data); 
    },
    error:function (){}
    }); 
} 
$(".close_c_modal").on("click", function() 
{
    $('#detail_modal_pop').fadeOut(200); 
    $("#detail_modal_pop_result").hide(300);
    $('#detail_modal_pop_result').html('');
    $("#load_wait").show(300);
}); 
 </script>

А вот код PHP

<?php
//"Some_controller.php" Controller

public function controller_method()
{
   if(isset($_POST['rid']))
   {
      $rid = (int)$_POST['rid']; 

      // $get_info = $this->Model->get_info($rid);  
      // Write modal content here...   
     
   }
}
?>

Надеюсь, это поможет вам.

0 голосов
/ 04 марта 2019

Удалите data-toggle="modal" из тега <a> и выполните onclick редактирование на основе идентификатора

<td>
  <a id="edit-form" href="#" class="btn btn-warning btn-sm">Edit</a>
</td>

JS

$('#edit-form').click(function() {
   $('#hidden_field_id').val(your-value);
   $('#myModal').modal('show');
});
0 голосов
/ 04 марта 2019

Образец для передачи идентификатора в модальное состояние с помощью атрибутов данных HTML & jQuery.

<table width="100%" class="table table-striped">
    <thead class="thead-dark">
        <tr>
            <th scope="col" align="left">#</th>
            <th scope="col">Request Id</th>
            <th scope="col">Agent Id</th>
            <th scope="col">Type</th>
            <th scope="col">Value</th>
            <th scope="col">Comment</th>
            <th scope="col"> Request Date & Time</th>
            <th scope="col">Status</th>
            <th scope="col">Action</th>

        </tr>
    </thead>
    <tbody>
        <?php 
        $sn=1;
        foreach ($result as $row) { 
            //print_r($row);die();
        ?>
        <tr>
            <td align="left"><?php echo $sn ?></td>
            <td><?php echo $row['rid'];?></td>
            <td><?php echo $row['aid'];?></td>
            <td><?php echo $row['type'];?></td>
            <td><?php echo $row['value'];?></td>
            <td><?php echo $row['comment'];?></td>
            <td><?php echo $row['request_time'];?></td>
            <td><button class="btn btn-danger btn-sm">Open</button></td>
            <td>
                <a href="#myModal" data-toggle="modal" data-id="<?php echo $row['rid'];?>" class="btn btn-warning btn-sm">Edit</a>
            </td>
        </tr>
        <?php
            $sn++;
        }?>
    </tbody>
</table>

<script>
    $('#myModal').on('show.bs.modal', function (e) {
        var $btn = e.relatedTarget,
        rId = $btn.data('id');

        // "rId" would be the value from the html data-attribute.
        console.log(rId);
    });
</script>
0 голосов
/ 04 марта 2019
<table width="100%" class="table table-striped">
    <thead class="thead-dark">
        <tr>
            <th scope="col" align="left">#</th>
            <th scope="col">Request Id</th>
            <th scope="col">Agent Id</th>
            <th scope="col">Type</th>
            <th scope="col">Value</th>
            <th scope="col">Comment</th>
            <th scope="col"> Request Date & Time</th>
            <th scope="col">Status</th>
            <th scope="col">Action</th>
        </tr>
    </thead>
    <tbody>
        <?php 
          $sn=1;
          foreach ($result as $row) { 
              //print_r($row);die();
        ?>
        <tr>
            <td align="left"><?php echo $sn ?></td>
            <td><?php echo $row['rid'];?></td>
            <td><?php echo $row['aid'];?></td>
            <td><?php echo $row['type'];?></td>
            <td><?php echo $row['value'];?></td>
            <td><?php echo $row['comment'];?></td>
            <td><?php echo $row['request_time'];?></td>
            <td><button class="btn btn-danger btn-sm">Open</button></td>
            <td>
              <a onclick="load_item('<?php echo $row['rid'];?>');" class="btn btn-warning btn-sm">Edit</a>
            </td>
        </tr>
        <?php $sn++;}?>
    </tbody>
</table>

Код Javascript, который Вы должны были вставить

 function load_item(rid){
/**
Write your ajax/javascript code here
*/
$("#myModal").modal("show");
 }
0 голосов
/ 04 марта 2019

Вы можете добавить

data-request-id="<?php echo $row['rid']?>"

к кнопкам, которые открывают модалы, и затем использовать jquery / javascript для извлечения данных с помощью ajax

var requestId = $('.modalBtn').attr("data-request-id");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...