简体   繁体   中英

Pop-up js dialog box onclick table row and display php information

I have a php site that displays table information from MySQL DB. I created a js that will pop-up upon clicking the row table. The problem is it will only function on the first row and nothing for the rest of it. And also I wanted to display the captured information from the row where it was clicked to the popup/dialog box. Thank you!

Here's my Table

<tr id="popup" style="cursor: pointer;">
<td hidden="text"><?php echo odbc_result($result,"OBGyneID"); ?></td>
<td><?php echo odbc_result($result,"Lname"); ?>
    , &nbsp;<?php echo odbc_result($result,"Fname"); ?>
    &nbsp;<?php echo odbc_result($result,"mi"); ?></td>
<td class="hidden-ob-xs"><?php echo odbc_result($result,"Bday");?></td>
<td class="hidden-ob-xs"><?php echo odbc_result($result,"pxAge"); ?></td>
<td class="hidden-ob-xs hidden-ob-sm"><?php echo odbc_result($result,"PhoneNum"); ?></td>    
<td><?php  echo odbc_result($result,"service"); ?></td>  
<td class="hidden-ob-xs hidden-ob-sm"><?php echo odbc_result($result,"obgyneTime"); ?></td>                                                  
</tr>

Here's my JS

        $('#popup').click(function(){
            swal({
                title:  'Are you sure you want to delete this record?',
                text: 'You will not be able to recover this record again!',
                type: 'warning',
                showCancelButton: true,
                buttonsStyling: false,
                confirmButtonClass: 'btn btn-danger',
                confirmButtonText: 'Yes, delete it!',
                cancelButtonClass: 'btn btn-light',
                background: 'rgba(0, 0, 0, 0.96)'
            }).then(function(){
                swal({
                    title: 'Are you sure?',
                    text: 'You will not be able to recover this imaginary file!',
                    type: 'success',
                    buttonsStyling: false,
                    confirmButtonClass: 'btn btn-light',
                    background: 'rgba(0, 0, 0, 0.96)'
                });
            });
        });

I think you are trying to delete a record. So below code may be useful. You may have to pass your record id to be deleted in future The #id variable must be unique for each row. Try below code

HTML

 <tr onclick="myFunction( <?php print $recid; ?> )"> <tr>

JS

  myFunction(recid){
      swal({
        title: "Are you sure you want to delete this record?",
        text: "Once deleted, you will not be able to recover this record !",
        icon: "warning",
        buttons: true,
        dangerMode: true,
        closeOnClickOutside: false,
        closeOnEsc: false
    })
    .then((willDelete) => {
        if(willDelete) {

          // Here make a POST request to delete your record using recid paramter

        } else {
            // do nothing
        }
    });
 }

Feel free to ask doubts. Please vote/mark this answer if it's helpful.

add class on TR tag

<tr class="popup" data-company="Google" style="cursor: pointer;">

change this class to call popup

 $('.popup').click(function(){

    var company = $(this).data('company');

     /* your code */

 });

Check below code. I hope it will help you.

 $('.test').on('click', function(){ // this is your table id var dataId = $(this).attr('data-id'); swal({ title: 'Are you sure you want to delete this record?', text: 'You will not be able to recover this record again!', type: 'warning', showCancelButton: true, buttonsStyling: false, confirmButtonClass: 'btn btn-danger', confirmButtonText: 'Yes, delete it!', cancelButtonClass: 'btn btn-light', background: 'rgba(0, 0, 0, 0.96)' }).then(function(){ // Add your ajax code here swal({ title: 'Success', text: 'Record Deleted Suucessfully', type: 'success', buttonsStyling: false, confirmButtonClass: 'btn btn-light', background: 'rgba(0, 0, 0, 0.96)' }); }); }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js"></script> <table border="1"> <tr class="test" data-id="1"> <!-- Pass your table id into data-id --> <td>Testing</td> <td>Testing</td> <td>Testing</td> <td>Testing</td> <td>Testing</td> </tr> <tr class="test" data-id="2"> <td>Testing1</td> <td>Testing1</td> <td>Testing1</td> <td>Testing1</td> <td>Testing1</td> </tr> <tr class="test" data-id="3"> <td>Testing2</td> <td>Testing2</td> <td>Testing2</td> <td>Testing2</td> <td>Testing2</td> </tr> </table> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM