pass multiple variable to bootstrap modal

2020-08-04 09:49发布

问题:

can I pass multiple variable to bootstrap modal?

here my code :

p>Link 1</p>
<a data-toggle="modal" id="1" class="push" href="#popresult">test</a>
<p>&nbsp;</p>
<p>Link 2</p>
<a data-toggle="modal" id="2" class="push" href="#popresult">test</a>

click the links will pop up a bootstrap modal

<div class="modal hide" id="popresult">
  <div class="modal-header">
    <button class="close" data-dismiss="modal">×</button>
    <h3>Modal header</h3>
  </div>
  <div class="modal-body" style="display:none;">
    <p>some content</p>

  </div>
  <div class="modal-footer"> <a href="#" class="btn" data-dismiss="modal">Close</a> <a href="#" class="btn btn-primary" >View full result</a> </div>
</div>

here the ajax code :

$(function(){
   $('.push').click(function(){
      var id = $(this).attr('id');

       $.ajax({
          type : 'post',
           url : 'yourScript.php', // in here you should put your query 
          data :  'post_id='+id, // here you pass your id via ajax .
                     // in php you should use $_POST['post_id'] to get this value 
       success : function(r)
           {
              // now you can show output in your modal 
              $('#mymodal').show();  // put your modal id 
             $('.modal-body').show().html(r);
           }
      });
   });
});

ajax code will post variable to another php file yourScript.php

<?php
 session_start();
     $_SESSION['myId'] = $_POST['post_id'];
     echo $_SESSION[myId];
?>

how can I pass multiple variables to yourScript.php?

回答1:

You can pass multiple variables like this

var param1 = 2;
var param2 = 5;

var data = 'param1='+param1+'&param2='+param2;

$.ajax({
         type: "POST",
         url: "yourScript.php",
         data: data,
         success: function(html){

         }
       });

SEE THIS EXAMPLE if you want to get more data from <a> tag instead of getting only the id



回答2:

easiest way to post multiple parameters would be to set the data element in the ajax call using an object literal

data: {
        'post_id':id,
        'myParam':"myvalue",
        'anotherOne':"again"
}

Then you would be able to access them as $_POST values in php

$post_id = $_POST["post_id"];
$myParam = $_POST["myParam"];
$anotherOne = $_POST["anotherOne"];