我正在通过 enterPerson() 为输入标签动态添加 html,然后调用 onkeyup=changeOnType(this) 在 autoInvit.php 中回显 $results 时应该显示自动完成,但是为什么我的自动完成代码不起作用,如果我提醒它,事实数据会显示. 有人可以帮我吗?先感谢您 :)
jquery 和自动完成的头文件:
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script src="//code.jquery.com/jquery-1.8.3.js"></script>
<script src="//code.jquery.com/ui/1.10.0/jquery-ui.js"></script>
“main.php”中的自动完成:
<script>
function changeOnType(x){
$.post(
"autoInvit.php",
{
vals: $(x).val()
},
function(data){
$("#"+x.id).autocomplete( {source:"autoInvit.php" } );
//alert(data);
}
);
}
</script>
这是“invities.php”中动态 html 的 php 代码:
<?php
echo '<input class="e" type="email" id="email" onkeyup="changeOnType(this)" autocomplete="on" role="textbox" aria-autocomplete="list" aria-haspopup="true" />';
?>
这是我的 php 文件“autoInvit.php”,它呼应了结果:
<?php
include("includes/connection.php");
$value = strip_tags($_POST['vals']);
$req = "SELECT email as name "
."FROM members "
."WHERE email LIKE '".$value."%' ";
$query = mysql_query($req);
while($row = mysql_fetch_array($query))
{
$results[] = $row['name'];
}
echo json_encode($results);
?>
请帮忙