我正在使用这个PHP / JQuery代码:
<?php
$return_arr = array();
$sql2="SELECT * from contacts where status = 'Contact' and company = '".$_GET["company"]."' ";
$rs2=mysql_query($sql2,$conn);
while($result2=mysql_fetch_array($rs2)) {
$return_arr[] = array('label' => $result2["forename"].' '.$result2["surname"], 'value' => $result2["email"]);
}
$data = json_encode($return_arr);
?>
<script type="text/javascript">
$(document).ready(function(){
var data = <?php echo $data; ?>;
$("#contact_name").autocomplete({
source:data,
change: function(e, ui) {
if (ui.item === null) {
alert("Contact Does Not Exist.\n\nCheck the box below to add the entered details as a new contact of this company");
$("#AddAsContact").css('display', 'block');
$("#AddAsContactLabel").css('display', 'block');
}
},
select: function(e, ui) {
e.preventDefault() // <--- Prevent the value from being inserted.
$("#contact_email").val(ui.item.value);
$(this).val(ui.item.label);
$("#AddAsContact").css('display', 'none');
$("#AddAsContactLabel").css('display', 'none');
$('#AddAsContact').prop('checked', false);
}
});
});
</script>
但自动完成功能似乎不起作用。我在自动完成列表中没有收到任何结果,但是data
变量中有返回的数据
我在这里创造了一个小提琴:http://jsfiddle.net/n492uf07/
更新:
data
var目前有这样的数据:
var data = [{"label":"Paul","value":"email@hello.com"},{"label":"Dave","value":"support@domain.com"}];
我也尝试过JQuery网站(http://jqueryui.com/autocomplete/)
的代码http://jsfiddle.net/n492uf07/2/
那也不适合小提琴
答案 0 :(得分:1)
在提供的jsfiddle中没有包含jQueryUI库。自动完成是jQueryUI库的一部分,因此您必须包含它。