自动完成json关联属性

时间:2015-11-30 17:01:08

标签: javascript php jquery autocomplete

使用jquery ui创建一个自动完成输入框。当我只有一个属性(英国邮政编码),而不是我想为我的邮政编码属性(城镇)添加另一个关联值时,输入框效果很好,并且想法是当有人输入邮政编码时,它会在列表中显示名称指向的小镇,但jquery代码现在不起作用。

Json输出:

{"AB10":"Aberdeen ","AB11":"Aberdeen ","AB12":"Aberdeen "}

PHP:

$sql = "SELECT * FROM uk_postcodes";
    $result = mysqli_query($connection, $sql) or die("Error " . mysqli_error($connection));

    $dname_list = array();
    while($row = mysqli_fetch_array($result))
    {
       $dname_list[$row['postcode']] = $row['town'];
    }
    echo json_encode($dname_list);

HTML:

<input type="text" name="Location" id="uk_postcode" placeholder="town or postcode" value=""/>

Jquery的:

 $(function() {
            var uktowns = <?php include('autocomplete.php'); ?>;
            $("#uk_postcode").autocomplete({
                source: uktowns,
                autoFocus:true
            });
        });

1 个答案:

答案 0 :(得分:0)

<强>更新

基于文档,数据需要格式化为对象数组,而不仅仅是普通对象

http://api.jqueryui.com/autocomplete/#option-source

[ { label: "Choice1", value: "value1" }, { label: "Choice2", value: "value2" } ]

原始回答

我会尝试在你的php脚本中添加它......

header('Content-Type: application/json');

之前......

echo json_encode($dname_list);

当你包含文件时,这肯定是json。