php - Passing one of the <td> value to controller when clicking a button -
i have table this:
when click delete! button, want pass role id controller.
after looking lot of cases in stackoverflow. i've succeeded retrieve role id using js.
code this:
$(".deletebutton").click(function() {   var $row = $(this).closest("tr");    var $text = $row.find("td:first-child").text();    // let's test out   alert($text);  });   but problem is, don't how pass button, button can pass controller.
is there simple way pass controller? maybe without retrieving role id first, , when click button value passed , controller called @ once?
this code:
<table class="table" id="mytable">    <thead class="text-primary">        <th class="col-md-1">id role</th>        <th class="col-md-3">role</th>        <th class="col-md-3">jumlah member</th>        <th></th>    </thead>     <tbody>    <?php        foreach($result $row) { ?>        <tr>            <td><?php echo $row->id_role ?></td>            <td><?php echo $row->role ?></td>            <td><?php echo $row->jumlah ?></td>            <td>                <button type="button" class="btn btn-success btn-sm editbutton">edit!</button>                <button  type="button" class="btn btn-danger btn-sm deletebutton">delete!</button>             </td>        </tr>        <?php          }  ?>     </tbody> </table>      
do have use javascript? if not, simple task form
<form action="path/to/your/controller" method="post"> <table class="table" id="mytable"> <!-- thead, etc --> <tbody> foreach($result $row) : ?> <tr>   <td><?= $row->id_role ?></td>   <td><?= $row->role ?></td>   <td><?= $row->jumlah ?></td>   <td>     <button type="submit" name="edit" value="<?= htmlspecialchars($role->id_role) ?>"             class="btn btn-success btn-sm editbutton">edit!</button>     <button type="submit" name="delete" value="<?= htmlspecialchars($role->id_role) ?>"             class="btn btn-danger btn-sm deletebutton">delete!</button>   </td> </tr> <?php endforeach ?> </tbody> </table> </form>   your controller receive either $_post['edit'] or $_post['delete'] role id value.
if you're interested in securing form possible cross-site-request-forgery attacks, codeigniter has built-in solution.
otherwise, add id_role property button, eg
<button type="button" class="btn btn-danger btn-sm deletebutton" value="<?= htmlspecialchars($role->id_role) ?>">delete!</button>   and in js
$('.deletebutton').on('click', function(e) {   var roleid = this.value   $.ajax({     url: '/roles/' + roleid, // assuming rest api     method: 'delete'   }).done(function() {     alert('deleted role ' + roleid);   }) })      
Comments
Post a Comment