Автозаполнение и динамическая передача параметров - PullRequest
2 голосов
/ 24 апреля 2010

Приведенный ниже код отлично работает с использованием jQuery UI 1.8 и jQuery 1.4.2

$("#sid_entry_box").autocomplete({
  source:"autocomplete_sid.php?database="+database_name,
  minLength:4,
  delay:1000,
  enable:true,
  cacheLength:1
});

Имя базы данных передается в качестве параметра get вызова php.

В этом приложении есть две базы данных, выбранные с помощью переключателей. Поскольку jQuery загружает и назначает эту функцию при загрузке документа, имя базы данных - это то, что было проверено в этот момент.

Что мне действительно нужно передать вызову php, так это:

database=$("input[name=rf_database_option]:checked").val();

Существует ли простой для понимания способ передачи динамического значения dom?

Ответы [ 3 ]

1 голос
/ 24 апреля 2010

При переключении переключателя вы можете изменить источник автозаполнения:

var database_name = ...;
$("#sid_entry_box").setOptions({
  source:"autocomplete_sid.php?database="+database_name
});

Вы можете увидеть примеры с setOptions на этой странице (просмотреть источник).

1 голос
/ 24 апреля 2010

как то так?

function changeDB(database_name) {
    $('#sid_entry_box').autocomplete('option', 'source', "autocomplete_sid.php?database="+database_name);
}
0 голосов
/ 26 апреля 2010

Решение Пуака работает. Спасибо!

Однако мне кажется, что в автозаполнении должен быть способ прочитать любое значение DOM и затем передать этот параметр в автозаполнение, которое, в свою очередь, передается в процедуру получения php.

Представьте себе, если нужно получить 10 различных параметров из DOM. Сложно войти и изменить 10 функций обратного вызова, каждая из которых добавляет опцию в функцию автозаполнения.

Надеюсь, в будущей документации от jQuery будут приведены дополнительные примеры использования различных опций автозаполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...