2016-11-02 29 views
1

這是我迄今爲止嘗試過的。我打算根據下拉列表中的選擇來填充文本框。隨着下拉列表的更改,我希望文本框的值也會發生更改。文本框由下拉選定的值填充

<form class="form-horizontal" role="form" action="edit_task.php" method="post">                   <div class="form-group"> 
                <div class="col-lg-6"> 

                <input class="form-control" type="hidden" id="id" name="id" /> 
                </div> 
                </div> 


                <div class="form-group"> 
                 <label class="col-lg-2 control-label">Plate Number</label> 
                 <div class="col-lg-6"> 
                 <?php $query = mysql_query("select * from vehicle"); // Run your query 

                 echo '<select name="plateno" id="plateno">'; // Open your drop down box 
                  // Loop through the query results, outputing the options one by one 
                  while ($row = mysql_fetch_array($query)) { 
                  echo '<option value="'.$row['plateno'].'">'.$row['plateno'].'</option>'; 
                   } 

                 echo '</select>'; ?> 
                 </div> 
                </div> 


                  <input type="text" class="form-control" id="cartype" name="cartype" placeholder=" " required> 


                  <input type="text" class="form-control" id="make" name="make" placeholder=" " required> 
                 </div> 
                </div> 


                  <input type="text" class="form-control" id="transmission" name="transmission" placeholder=" " required> 

                  <input type="text" class="form-control" id="caryear" name="caryear" placeholder=" " required> 

                  <input type="text" class="form-control" id="condition" name="condition" placeholder=" " required> 

                  <input type="text" class="form-control" id="task" name="task" placeholder=" " required> 

                  <input type="text" class="form-control" id="item_used" name="item_used" placeholder=" " required> 

                  <input type="text" class="form-control" id="remark" name="remark" placeholder=" " required> 

                  <button type="submit" class="btn btn-primary">Save</button> 
                  <button type="button" class="btn btn-danger">Cancel</button> 
                 </div> 
                </div> 
<script type="text/javascript"> 
     $(document).ready(function(){ 
    $('#plateno').change(function(){ 
    var plateno = $(this).val(); 
    var data_String; 
    data_String = 'plateno='+plateno; 
    $.post('ajax_file.php',data_String,function(data){ 
      var data= jQuery.parseJSON(data); 
      $('#cartype').val(data.cartype) 
      $('#make').val(data.make) 
      $('#transmission').val(data.transmission) 
      $('#caryear').val(data.caryear) 

     }); 
    }); 
}); 
</script> 
               </form> 

這是連接到JSON文件 Ajax_file.php

<?php 
     $plateno =$_POST['plateno']; 

    echo json_encode($data); 
    exit();` 

?> 

回答

0

這裏是你上面的代碼工作示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Document</title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#plateno').change(function() { 
       var plateno = $(this).val(); 
       var data_String = 'plateno=' + plateno; 
       $.get('json.php', data_String, function(result) { 

        $.each(result, function(){ 
         $('#cartype').val(this.cartype); 
         $('#make').val(this.make); 
         $('#transmission').val(this.transmission); 
         $('#caryear').val(this.caryear); 
        }); 


       }); 
      }); 
     }); 
    </script> 
    </head> 
    <body> 
    <?php  
    $con=mysqli_connect("localhost","root","","my_db"); 
    // Check connection 
    if (mysqli_connect_errno()){ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
?> 
<form class="form-horizontal" role="form" action="edit_task.php" method="post">                      
    <div class="form-group"> 
     <div class="col-lg-6"> 
      <input class="form-control" type="hidden" id="id" name="id" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="col-lg-2 control-label">Plate Number</label> 
     <div class="col-lg-6"> 
      <?php 
      $query = mysqli_query($con,"select * from vehicle"); // Run your query 
      echo '<select name="plateno" id="plateno">'; // Open your drop down box 
      // Loop through the query results, outputing the options one by one 
      while ($row = mysqli_fetch_array($query, MYSQL_BOTH)) { 
       echo '<option value="' . $row['plateno'] . '">' . $row['plateno'] . '</option>'; 
      } 
      echo '</select>'; 
      ?> 
     </div> 
    </div> 
    <input type="text" class="form-control" id="cartype" name="cartype" placeholder=" " required> 
    <input type="text" class="form-control" id="make" name="make" placeholder=" " required> 
    <input type="text" class="form-control" id="transmission" name="transmission" placeholder=" " required> 
    <input type="text" class="form-control" id="caryear" name="caryear" placeholder=" " required> 
    <input type="text" class="form-control" id="condition" name="condition" placeholder=" " required> 
    <input type="text" class="form-control" id="task" name="task" placeholder=" " required> 
    <input type="text" class="form-control" id="item_used" name="item_used" placeholder=" " required> 
    <input type="text" class="form-control" id="remark" name="remark" placeholder=" " required> 
    <button type="submit" class="btn btn-primary">Save</button> 
    <button type="button" class="btn btn-danger">Cancel</button> 
    </form> 

    </body> 
</html> 

這是您的ajax_file.php代碼:

<?php 
header('Content-Type: application/json'); 
$response = array(); 
if (isset($_GET['plateno'])){ 
//vul hier je database gebuikersnaam en ww in 
$con=mysqli_connect("localhost","root","","my_db"); 
// Check connection 
if (mysqli_connect_errno()){ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$qry = "SELECT * FROM vehicle WHERE plateno = '".$_GET['plateno']."'"; 

$result = mysqli_query($con, $qry); //mysql_query($qry); 

while ($row = mysqli_fetch_array($result, MYSQL_BOTH)) { 
    array_push($response, $row); 
} 

echo json_encode($response); 
} 
?> 
+0

嗨,請問您在哪裏看到json.php? – ojulari

+0

我已將json.php更改爲Ajax_file.php – ojulari

0

$數據,該數據在編碼Ajax_file.php沒有值。你沒有給它分配任何數據。您可能希望使用$ plateno並從數據庫獲取記錄並將其分配給$ data。

+0

可以請你給的示例 – ojulari

+0

<?php header('Content-Type:application/json'); $ response = array();如果(isset($ _GET ['plateno'])){ // vulh je數據庫gebuikersnaam en ww $ con = mysqli_connect(「localhost」,「root」,「」,「my_db」); //檢查連接 if(mysqli_connect_errno()){ echo「無法連接到MySQL:」。 mysqli_connect_error(); } $ qry =「SELECT * FROM vehicle WHERE plateno ='」。$ _ GET ['plateno']。「'」; $ result = mysqli_query($ con,$ qry); //的mysql_query($ QRY); ($ row = mysqli_fetch_array($ result,MYSQL_BOTH)){ array_push($ response,$ row); } echo json_encode($ response); } ?> –

+0

上述代碼錯誤添加。 –

0

替換Ajax_file.php代碼:

<?php 
     $plateno =$_POST['plateno']; 

    echo json_encode($plateno); 
    die(); 

?> 

除了上面的代碼,更改您發送Ajax請求的代碼:

$.post('ajax_file.php',data_String,function(data){ 
      var data= jQuery.parseJSON(data); 
      $('#cartype').val(data.cartype) 
      $('#make').val(data.make) 
      $('#transmission').val(data.transmission) 
      $('#caryear').val(data.caryear) 

     }); 

將這個來代替:

$.ajax({ 
    url: 'ajax_file.php', 
    type: 'post', 
    dataType:'json', 
    data: { 
     plateno: plateno 
    } 
}).done(function(data){ 
    $('#cartype').val(data.cartype) 
    $('#make').val(data.make) 
    $('#transmission').val(data.transmission) 
    $('#caryear').val(data.caryear) 
}); 

可能的問題可能是您在發送數據時未指定數據類型。 我希望它能幫助

+0

不工作。如何獲取記錄並將其分配給$ data – ojulari

0
$plateno = $_POST['plateno']; 
if (isset($plateno)){ 
    $con=mysqli_connect("localhost","root","","dn_name"); 

if (mysqli_connect_errno()){ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$qry = "SELECT * FROM vehicle WHERE plateno = '".$plateno."'"; 

$result = mysqli_query($con, $qry); 

while ($row = mysqli_fetch_array($result, MYSQL_BOTH)) { 
    array_push($response, $row); 
} 

echo json_encode($data); 
} 
相關問題