JQuery Автозаполнение с JSON вопрос начинающих - PullRequest
0 голосов
/ 29 июня 2010

Я использую официальный плагин Jquery Autocomplete.У меня есть база данных ODBC со списком рекламодателей.В настоящее время у меня есть поле ввода, где пользователь вводит часть имени, и я успешно возвращаю список частичных совпадений.Проблема в том, что я не понимаю, как вернуть имя и идентификатор рекламодателя.Я предполагаю, что захочу использовать функцию Jquery, чтобы настроить значение скрытого поля для хранения идентификатора после его получения.

php файл, чтобы вернуть имя рекламодателя, которое необходимо изменить, чтобы вернуть UsageNumber какхорошо:

$sql = "SELECT DISTINCT tNAdvertisors.UserName, tNAdvertisors.UsageNumber
FROM tNAdvertisors
WHERE (((tNAdvertisors.UserName) Like '$term%'));";
$rs=odbc_exec($conn,$sql);
$a = array();
while (odbc_fetch_row($rs)) {
    $a[] = htmlentities(odbc_result($rs,"UserName"));
}
echo json_encode($a);

текущий код jquery для автозаполнения, который необходимо изменить, чтобы включить функцию для обработки идентификатора?

    $("#single").autocomplete({
    source: "ajaxSearchForAdvertiser.php",
    minLength: 3
});

Спасибо за ваше время и помощь.

1 Ответ

0 голосов
/ 29 июня 2010

Посмотрев на демонстрационную страницу автозаполнения Поиск изображений, вы можете попробовать объединить важную информацию в строку, например, ID с именем рекламодателя из базы данных (извините, я не могу помочь с этим, так как Я недостаточно хорошо знаю php и SQL):

1234#Exxon
2345#BP
3456#Shell

Тогда скрипт автозаполнения будет выглядеть примерно так:

$("#imageSearch").autocomplete("images.php", {
 formatItem: function(data, i, n, value) {
  return value.split("#")[1]; // returns just the name for display in the input box
 },
 formatResult: function(data, value) {
  var result = value.split('#');
  return [ result[0], result[1] ]; // returns [ ID, name ]
 }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...