2014-12-26 108 views
1
<script type="text/javascript"> 
     $(document).ready(function(){ 
      $("#t_select").change(function(){ 
       var table_name = $("#t_select").val(); 
       $.ajax({ 
        type: 'POST', 
        url: 'index.php', 
        data: {"tabname": table_name}, 
        success: function(data) { 
         console.log('Data send'); 
          $("#display-property-address").html(data); 
        } 
       }); 
    }); 
    }); 
    </script> 

這是我的jQuery代碼插入jQuery的價值PHP變量

<form name="stable" method="POST" id="form"> 
         <select id="t_select"> 
         <option value="agent_info">Agent info</option> 
         <option value="student_info">Student info</option> 
         </select> 
        </form> 

我的HTML代碼

<?php 

    if($_REQUEST['table_name']) 
    { 
    $val=$_REQUEST["table_name"]; 
    echo $val; 
    }else{echo "nothing";} 
    ?> 

我想用在改變事件jQuery來獲得從選擇框中的選項值和我想把這個值插入到PHP中。

+0

你有什麼問題? – rocking

+0

echo $ table_name = $ _ POST ['table_name'];在ajax頁面。你試試這個嗎? –

+0

IN ajax頁面: echo $ _POST ['tabname']; 下面的jquery

回答

0

感謝您的幫助的朋友,這裏是我的解決方案

index.php 

    <script type="text/javascript"> 
      $(document).ready(function() 
      { 
       $(".t_select").change(function() 
       { 
       //alert($('#t_select').val()); 
        //var tabname = $('#t_select').val()); 
        var table_name = $(this).val(); 
       // alert(table_name); 
        $.ajax 
        ({ 
         type:"POST", 
         url: "data.php", 
         data: {tabname :table_name}, 
         //cache: false, 
         success: function(html) { 
          console.log('Data send'); 
           $("#display-property-address").html(html); 
         } 
        }); 
     }); 
    }); 
     </script> 

    <select class="t_select" name="t_select"> 
         <option value="agent_info">Agent info</option> 
         <option value="student_info">Student info</option> 
         </select> 


<div id="display-property-address"></div> 

data.php 

<!DOCTYPE html> 
<?php include 'db.php';?> 
<html lang="en"> 
    <head> 
    </head> 

    <body>  

     <table class="table table-bordered"> 
      <thead> 
        <tr> 
         <th>ID</th> 
         <th>Subject</th> 
         <th>Description</th> 
         <th>Unit</th> 
         <th>Semester</th> 


        </tr> 
        </thead> 

      <?php 
      //print_r('tabname'); 
      echo $_POST['tabname']; 
    if($_POST['tabname']) 
    { 
    $val=$_POST['tabname']; 
    echo $val; 
    }else{echo "nothing";} 
    ?> 
     <?php 
       $table_name = $_REQUEST['tabname']; 
       $SQLSELECT = "SELECT * FROM $table_name "; 
       $result_set = mysql_query($SQLSELECT, $conn); 
       while($row = mysql_fetch_array($result_set)) 
       { 
       ?> 

        <tr> 
         <td><?php echo $row['SUBJ_ID']; ?></td> 
         <td><?php echo $row['SUBJ_CODE']; ?></td> 
         <td><?php echo $row['SUBJ_DESCRIPTION']; ?></td> 
         <td><?php echo $row['UNIT']; ?></td> 
         <td><?php echo $row['SEMESTER']; ?></td> 


        </tr> 
       <?php 
       } 
      ?> 
     </table> 
    </body> 
</html> 
-2

使用$("#t_select option:selected").val();

+0

這不是一個問題檢查工作正常http://jsfiddle.net/ny50h1nd/ – Sadikhasan

0

您從JS發送的變量稱爲tabname。

這應該解決它。

if($_REQUEST['tabname']) 
    { 
    $val=$_REQUEST["tabname"]; 
    echo $val; 
    }else{echo "nothing";} 
+0

對不起錯誤地補充說,更改後也沒有工作 – mageshkumar

+0

你可以對你的問題更具體一點?請求是否到達您的php頁面?您是否收到回覆,但不是正確的回覆? –

+0

jquery和php的代碼都是相同的頁面index.php – mageshkumar

0

在阿賈克斯,你必須使用像

data: {"table_name": table_name}, 

,而不是

data: {"tabname": table_name}, 
+0

抱歉錯誤地補充說,更改後也沒有工作 – mageshkumar