大家好我已经成功地完成了我的自动完成表单,但问题是当我们退回它时结果不相应。 这是我的代码..
<html>
<head>
<title>Live Search Ajax Example</title>
<script language="javascript" type="text/javascript"
src="jquery-2.0.2.js">
</script>
</head>
<body>
<h1>Live Search: Ajax Example</h1>
<div class="content">
<input type="text" class="search" id="searchid" placeholder="Search for people" /> Ex:arunkumar, shanmu, vicky<br />
<div id="result"></div>
</div>
<script type="text/javascript" src="jquery-1.8.0.min.js"></script>
<script type="text/javascript">
$(function(){
$(".search").keyup(function()
{
var searchid = $(this).val();
var dataString = 'search='+ searchid;
if(searchid !='')
{
$.ajax({
type: "POST",
url: "search.php",
data: dataString,
cache: false,
success: function(html)
{
$("#result").html(html).show();
}
});
}return false;
});
jQuery("#result").live("click",function(e){
var $clicked = $(e.target);
var $name = $clicked.find('.name').html();
var decoded = $("<div/>").html($name).text();
$('#searchid').val(decoded);
});
jQuery(document).live("click", function(e) {
var $clicked = $(e.target);
if (! $clicked.hasClass("search")){
jQuery("#result").fadeOut();
}
});
$('#searchid').click(function(){
jQuery("#result").fadeIn();
});
});
</script>
</body>
</html>
我的php页面就像
<?php
include('database.php');
if($_POST)
{
$q=$_POST['search'];
$sql_res=mysql_query("select id,name,email from fk_mem where name like '$q%' or email like '$q%' order by id LIMIT 5");
while($row=mysql_fetch_array($sql_res))
{
$username=$row['name'];
$email=$row['email'];
$b_username='<strong>'.$q.'</strong>';
$b_email='<strong>'.$q.'</strong>';
$final_username = str_ireplace($q, $b_username, $username);
$final_email = str_ireplace($q, $b_email, $email);
?>
<div class="show" align="left">
<span class="name"><?php echo $final_username; ?></span> <br/><?php echo $final_email; ?><br/>
</div>
<?php
}
}
?>
任何帮助请...
答案 0 :(得分:0)
将它放在<HEAD>
和</HEAD>
之间放置:
<script src="jquery-2.0.2.js"></script>
<script>
$.customPOST = function(data,callback){
$.post('search.php',data,callback,'json');
}
$(document).ready(function() {
$(".search").keyup(function(){
$.customPOST({search: $.('#searchid').val(),function(response){
if(response.success){
var html_code = '<div class="show" style="text-align:left;">';
html_code += '<span class="name">' + response.final_username + '</span>';
html_code += ' <br/>' + response.final_email + '<br/></div>';
$("#result").text(html_code);
$("#result").show();
}
});
});
</script>
您的PHP脚本必须以这种方式返回JSON响应:
<?php
... your code here and ....
$final_username = str_ireplace($q, $b_username, $username);
$final_email = str_ireplace($q, $b_email, $email);
// here we create and return our JSON response
$response = array('final_username' => $final_username, 'final_email' => $final_email);
echo json_encode($response);
?>