2010-11-16 5 views
13

В документации для jQuery UI Autocomplete указано, что для свойства source можно указать URL-адрес, который возвращает предлагаемые элементы в формате JSON. Однако он не уточняет, как должна выглядеть структура этого результата JSON. Может ли кто-нибудь отправить пример? Благодаря!Формат JSON для автозаполнения пользовательского интерфейса jQuery

ответ

4

Это формат JSON

{source: ["Milan", "Turin", "Venice", "Florence", "Rome"] } 

или другой источник

{source: ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"]} 
+3

[{"label": "mylabel", "value": "myvalue"}, ...] Я нашел, что это формат, который .autocomplete ищет для jquery UI 1.8 – James

+0

@James: добавьте его как отдельный ответ. – jgauffin

+0

Довольно поздний ответ на @James, но если эти данные относятся к переменной, то источником данных становится переменная_имя.source. «Источник» - это просто свойство вашего объекта JSON. –

1

Я делаю вызов на контроллер Spring Java, который просто возвращает информацию ниже (в формате JSON). Я строю его с помощью JSTL. Но я не знаю, какой бэкэнд вы используете. Но на любом языке вы можете просто вывести некоторый JSON.

Пример:

{"results":[{"id":" Canned","name":" Canned"}, {"id":64,"name":"Added Sulphites"}, 
{"id":3,"name":"age"}, {"id":"age","name":"age"}, {"id":59,"name":"age group"}, 
{"id":"Allergen","name":"Allergen"}, {"id":85,"name":"Anchovies"}]} 

мне не нравится автозаполнения. возможно, вы нашли лучшее решение в flexbox: http://flexbox.codeplex.com/

+4

Это json, но это недопустимо для автозаполнения – DavideDM

1

Вот реальный пример, но он использует JSONP удаленный источник данных: http://www.highpoint.edu/admissions/contact.cfm

Поле High School использует автозаполнения (убедитесь, что вы выберите «Первокурсник» для типа допуска B/C в противном случае высокой школьное поле будет скрыто). Кроме того, изменение выбора страны/штата несколько изменит источник автозаполнения, что может вызвать некоторую путаницу.

Кроме того, этот URL-адрес является просто оболочкой для iframe с реальной формой, которую я не могу опубликовать ссылку на b/c. Новые пользователи могут отправлять только один URL-адрес в комментарии.

14

Переехал ответ здесь из моего комментария:

[{"label":"mylabel","value":"myvalue"},...] 

Я нашел, что это такой формат, который .autocomplete ищет для JQuery UI 1,8

1

с помощью поджигатель мы можем видеть этот формат JSON

[{"id":"Podiceps nigricollis","label":"Black-necked Grebe","value":"Black-necked Grebe"}] 

Я использовал json_encode

$a[$x] = array("id" => $row["id"],"label"=>$row["label"],"value"=>$row["value"]); 
} 
//echo JSON to page 
    $response = json_encode($a); 
echo $response; 
Смежные вопросы