0

我希望在文本字段中输入值(会员编号)时,它会检查数据库中的相应名称并显示在 div 上......这就是我到目前为止所做的......

我的jQuery代码

$(function(){
    var dis=$('#full');

    $('#membership_number').change(function(e){

        var sel=$(this).val();
        dis.html('');
        if(sel!='0'){
            $.get('get_leader.php',{sel:sel},function(data){

                    dis.html(data);

                    });
            }

        }).change();




    });

我的PHP代码

 if(isset($_GET['sel'])){
$membership_num=$_GET['sel'];

    if(!empty($dregion)){
$search=mysql_query("SELECT fname,mname,lname from members where       

  membership_number='$membership_num'") 
   or die("Error occured in selecting a table");


    while($rows=mysql_fetch_array($search)){
                $fname=ucfirst($rows['fname']);
                $lname=ucfirst($rows['lname']);
                $mname=ucfirst(substr($rows['mname'],0,1));
                $full=$fname.'.'.$mname.'.'.$lname;
                echo $full;



        }



    }
      }

我的html代码

  <div class="control-group">
         <label class="control-label" for="id_password">Membership Number</label>
                    <div class="controls">
       <input name="membership_number" maxlength="100" 
             placeholder="Enter membership Number ..." type="text" 
              class="input-large" id="membership_number" />
                    </div>
                </div> 


   <div class="control-group">
                    <label class="control-label" for="id_password">Full Name</label>
                    <div class="controls" id='full'>
                    //display data here...
                    </div>
                </div> 
4

2 回答 2

0

尝试使用console.log(data); 警报(数据);在 $.get 之后。

或者您可以使用firebug 插件来检查您发送的参数和收到的结果。

于 2013-07-07T03:41:31.157 回答
0

我猜你有两个 id="full" 的 html 元素。尝试将其用于您的 php 脚本(对不起,您的变量名太可怕了,我全部更改了):

2.php:

<?php
 if(isset($_GET['member_num'])){
    $membership_num = $_GET['member_num'];
    echo $membership_num;
 } 
?>

js2.js

$(function(){

    $('#membership_number').change(function(e){
        var member_num = $(this).val();
        var results_elmt = $('#results');

        results_elmt.html('');

        if(member_num != '0'){
            $.get('2.php',{member_num: member_num},function(data){
              results_elmt.html(data);
            });
        }

    });
});

...这适用于您的 html:

<!DOCTYPE html>
<html>
  <head>
    <title>Test</title>
    <script type="text/javascript" src="lib/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="lib/jquery-ui-1.10.2.js"></script>
    <script type="text/javascript" src="js2.js"></script>

  </head>
<body>

<div class="control-group">
  <label class="control-label" for="membership_number">Membership Number</label>
  <div class="controls">
    <input name="membership_number" maxlength="100" 
         placeholder="Enter membership Number ..." type="text" 
         class="input-large" id="membership_number" />
  </div>
</div> 


<div class="control-group">
  <label class="control-label" for="full_name">Full Name</label>
  <input name="full_name" maxlength="100" 
         placeholder="Enter Full Name ..." type="text" 
         class="input-large" id="full_name" />

  <div class="controls" id="results">HELLO</div>
</div> 

</body>
</html>

用正确的路径替换<script>标签中的 js 内容。

您还必须决定更好的缩进策略。你的代码是一个荒谬的混乱。

这是为了什么:

}).change();

摆脱它。

于 2013-07-07T04:34:25.530 回答