根据组合框值的变化更改两个文本框的值

时间:2014-10-30 12:26:08

标签: javascript php jquery mysql ajax

从组合框中选择值时,名称和年龄文本框应通过从数据库中提取数据来显示值。

这里名称工作正常,但我不知道如何显示年龄

<head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <title>Untitled Document</title>
 <script src="jquerylib.js"></script>
</head>

<body>
  <form>
   <table  border="0">
    <tr>           
     <td> 
        Select :
         //here the combobox selection
        <select name="name"  id="C_NAME"  >
          <option value="">Select a person:</option>
          <option value="1">SULOCHANA</option>
          <option value="2">COLOMBO</option>
          <option value="3">PILIYANDALA76</option>
         <option value="4">RAJAGIRIYA</option>
     </select>
  </td>   
</tr>  

<tr>  
  <td> 
     Display
    //display name
    <input name="dis_name" type="text"  id="display_name"   size="30" />
 //display age
    <input name ="age" type="text" id="age" />
 </td>
</tr>

  

C_NAME是组合框ID

   <script>
     $("select").change(function () {  
       var str =$("#C_NAME").val();

     if(str!=""){ 
        $.get("get_name.php", {id: str}, function(data){
        //get the value from the get_name.php file and asign to display_name text filed
       $("#display_name").val(data);});
     }`
     })
  .change();
 </script>

这里是get_name.php

   <?php
     include('db.php');

    //getting the passed value using get

     $ID = intval($_GET['id']);

     $sql= mysql_query("SELECT * FROM system_user_tb WHERE id = '".$ID."'");
     $row = mysql_fetch_array($sql);

     echo  $row['ID']." - " .$row['Login_name'];
   ?>

2 个答案:

答案 0 :(得分:2)

假设您的分隔符将年龄和名称分开为-,第一个值为年龄,第二个值为name,这将起到作用。

function(data){

$("#display_name").val(data.split("-")[0]);
$("#age").val(data.split("-")[1]);

答案 1 :(得分:1)

我不熟悉PHP,但我建议你使用json格式。 http://nz.php.net/json_encode 或者如果你不想要,请在返回的字符串上使用split函数。例如: 从get_name.php返回

echo  $row['ID']." # " .$row['Login_name']. " # " .$row['age'].;

和js

function(data){

var data_array = data.split("#");
       $("#display_name").val(data_array[1]);
       $("#age").val(data_array[2]);
});