Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 单击时,ajax填充的列表项未填充输入_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Php 单击时,ajax填充的列表项未填充输入

Php 单击时,ajax填充的列表项未填充输入,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我有一个输入,当有人向其中输入一个键时,它会生成一个定位无序列表,并通过DB找到匹配项 问题是,当单击列表项时,它不会填充输入字段。它非常简单,应该可以工作 这是我的html: <p style="position: relative;"> <input id="qbid" value="Enter Customer Name" size="40" /> <div id="qbid_res"></div> </p> 以下是我在ajax

我有一个输入,当有人向其中输入一个键时,它会生成一个定位无序列表,并通过DB找到匹配项

问题是,当单击列表项时,它不会填充输入字段。它非常简单,应该可以工作

这是我的html:

<p style="position: relative;">
<input id="qbid" value="Enter Customer Name" size="40" />
<div id="qbid_res"></div>
</p>
以下是我在ajax-qbid.php中的php/mysql:

<ul>

<?php

include 'connect.php';

$sql = mysql_query("select `name` from `customers` where `name` like '%".mysql_real_escape_string($_POST['name'])."%' order by `name` asc");

while ($row = mysql_fetch_assoc($sql))
    echo '<li><a href="#">'.$row['name'].'</a></li>';

?>

</ul>

在我介绍ajax代码之前,它运行良好。我的意思是,当我在数据库中输入一个匹配的值时,它确实会显示列表,但正如我所说,单击其中一个名称不会填充输入字段。

您必须使用jQuery
live
,因为在进行ajax调用之前,元素不存在,所以不会附加
单击
处理程序

$('#qbid_res ul li a').live('click', function(e) {
    e.preventDefault();
    $('#qbid').val($(this).html()); 
    $('#qbid_res').css('display', 'none'); 
}); 

您必须使用jQuery
live
,因为在进行ajax调用之前元素不存在,因此不会附加
单击
处理程序

$('#qbid_res ul li a').live('click', function(e) {
    e.preventDefault();
    $('#qbid').val($(this).html()); 
    $('#qbid_res').css('display', 'none'); 
}); 

在jquery 1.7+中,您可以使用jquery
$('#qbid_res ul li a')。在('click',函数(e){…
中,您可以使用jquery
$('#qbid_res ul li a')。在('click',函数(e){…