jQuery在没有数据库的情况下从php-json自动完成


jQuery autocomplete from php-json without database

我想用jQuery在表单上生成autocomplete。源代码取自php中的json数据,但我不使用数据库。这是我的代码:

facebookfriends.php

<?php
include('facebookdata.php');
$user_friend = $user_friends['data'];
$json_friends = json_encode($user_friend);
echo $json_friends;
?>

脚本

$(function() {
  $( "#search" ).autocomplete(
  {
     source:'facebookfriends.php',
  });
});

JSON数据

[{"name":"Indiarto Priadi","id":"502163984"},
 {"name":"Agustin Kertawijaya","id":"511990261"},
 {"name":"Jecklyne Christin L","id":"528197912"},
 {"name":"Jazi Eko Istiyanto","id":"531149275"},
 {"name":"Esritha Situmorang","id":"535864892"},
 {"name":"Christy Margaretha Siregar","id":"543468540"},
 {"name":"Daniel Oscar Baskoro","id":"549332828"},
 ........]

我只想在自动完成中显示name,以确保自动完成工作正常。但事实并非如此。请帮忙。非常感谢。

1.您必须在php中解析json2.为下拉列表制作一个数组

应遵循以下步骤:

     $data ='[{"name":"Indiarto Priadi","id":"502163984"},
              {"name":"Agustin Kertawijaya","id":"511990261"},
              {"name":"Jecklyne Christin L","id":"528197912"}, 
              {"name":"Jazi Eko Istiyanto","id":"531149275"},
              {"name":"Esritha Situmorang","id":"535864892"},
              {"name":"Christy Margaretha Siregar","id":"543468540"},
              {"name":"Daniel Oscar Baskoro","id":"549332828"}]';
    $user_friend =  json_decode($data, true );
    $data=array();
    foreach($user_friend as $key=>$val)
            $data[]=$val['name'];
    $json_friends =json_encode($data);
    echo $json_friends;

您需要将标签和值传递到php文件中

例如

    $data[] = array(
                'label' =>  $row['city_name'].','.$state['state_name'].','.$c_name['country_name'],
                'value' =>  $row['city_name'].','.$state['state_name'].','.$c_name['country_name']
                    );
echo json_encode($data);
flush();