Php 单击时,ajax填充的列表项未填充输入
我有一个输入,当有人向其中输入一个键时,它会生成一个定位无序列表,并通过DB找到匹配项 问题是,当单击列表项时,它不会填充输入字段。它非常简单,应该可以工作 这是我的html: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
<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){…