根据php jQuery中的下拉选项单击按钮时填充文本框

时间:2015-03-21 09:56:36

标签: php jquery drop-down-menu

我的流程是这样的:我有一个下拉菜单和文本框。当我从下拉列表中选择一个id(唯一ID)然后单击“提交”按钮时,要在文本框中显示相应的名称。

我的数据库字段:

  1. id(自动增量)
  2. AgencyName_id(唯一ID)
  3. 名称
  4. dispay.html

    <select name="agencyID_dwn" class="idLookup_dwn"  id="agencyID_dwn" >
    <option selected>...Select...</option>
      <?php
      while($row = mysqli_fetch_array($result)){
      ?>
    
       <option value="<?php echo $row['AgencyName_id'];?>"> 
       <?php echo $row['AgencyName_id'];?></option>
     <?php
      }
       ?>
        </select>
            // for input text
            <input type="text" id="testid">
            // submit button
             <input type="submit" name="lookupSubmit">
    

    dataGet.php

                <?php
                if (isset($_POST["lookupSubmit"])) {
    
                $user_id=$_POST['agencyID_dwn'];
    
                 $query = "select * from AgencyHome where AgencyName_id = '$user_id'" ;
            $result=mysqli_query($db, $query);
    
            $data =  mysqli_fetch_assoc($result);
    
           echo json_encode($data);
             exit();
    
           }
    
            ?>
    

    myjson.js

               <script src="//code.jquery.com/jquery-1.11.2.min.js">                </script>
    <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js">  </script>
        <script type="text/javascript">
          $(document).ready(function(){
    
          $('#agencyID_dwn').change(function(){
    
        var reg_number = $(this).val();
          var data_String;
         data_String = 'reg_number='+reg_number;
        $.post('dataGet.php',data_String,function(data){
          var data= jQuery.parseJSON(data);
    
           $('#testid').val(data.Name);
    
    
              });
           });
          });
    
          </script>
    

    当我点击提交按钮时 我在“dataGet.php”中将数据库结果作为数组。但是在文本框中没有显示结果。我的代码中有任何错误?

2 个答案:

答案 0 :(得分:2)

在dataGet.php中尝试这样,

while ($row = mysqli_fetch_assoc($result)) {
    echo $row["Name"];
}

答案 1 :(得分:1)

这是你的答案

你的index.php

    <?php
    $conn = mysqli_connect("localhost","root","","test_db");

 ?> 

<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="//code.jquery.com/jquery-1.11.2.min.js">                     </script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js">  </script>
 <script type="text/javascript">
  $(document).ready(function(){

  $('#agencyID_dwn').change(function(){

var reg_number = $(this).val();
  var data_String;
 data_String = 'reg_number='+reg_number;
$.post('dataGet.php',data_String,function(data){
    console.log(data);
  var data= jQuery.parseJSON(data);

   $('#testid').val(data.Name);


      });
   });
  });

  </script>

<body>
<form>
<select name="agencyID_dwn" class="idLookup_dwn"  id="agencyID_dwn" >
<option selected>...Select...</option>
 <?php
  $query = "select AgencyName_id from AgencyName";
 $result = mysqli_query($conn,$query);
 while($row = mysqli_fetch_array($result)){
  ?>

   <option value="<?php echo $row['AgencyName_id'];?>"> 
   <?php echo $row['AgencyName_id'];?></option>
  <?php
   }
   ?>
    </select>
    // for input text
    <input type="text" id="testid">
    // submit button
       <input type="submit" name="lookupSubmit">
  </form>
 </body>
 </html>

以及您的dataGet.php文件如下所示

     <?php

   $conn = mysqli_connect("localhost","root","","test_db");

        $reg_number=$_POST['reg_number'];

   $query = "select * from AgencyName where AgencyName_id = '$reg_number'" ;
    $result=mysqli_query($conn, $query);

    $data =  mysqli_fetch_assoc($result);
   // print_r($data);
      echo json_encode($data);
     exit();


    ?>
     just ccheck your table name and all will work