Как использовать JQuery UI Autocomplete с несколькими значениями с Oracle ApEx? - PullRequest
1 голос
/ 16 мая 2011

Я использую Oracle Application Express (ApEx v3.0.1), и я хотел бы использовать jQuery UI - пример автозаполнения с несколькими значениями.

См .: http://jqueryui.com/demos/autocomplete/#multiple

В основном, глядя на источник для этого примера, он имеет следующий набор данных переменной:

        var availableTags = [
        "ActionScript",
        "AppleScript",
        "Asp",
        "BASIC",
        "C",
        "C++",
        "Clojure",
        "COBOL",
        "ColdFusion",
        "Erlang",
        "Fortran",
        "Groovy",
        "Haskell",
        "Java",
        "JavaScript",
        "Lisp",
        "Perl",
        "PHP",
        "Python",
        "Ruby",
        "Scala",
        "Scheme"
    ];

Что бы я хотелделать и не знать, что делать с Oracle ApEx, это ссылаться на таблицу базы данных через процесс по требованию и извлекать имена клиентов, где я хотел бы, чтобы пользователь выбирал несколько значений или даже просто одно значение.

Единственная проблема, однако, заключается в том, что в этой таблице более 90 000 записей, и поэтому я не уверен, что лучший способ сделать это.

В общем, я хотел бы сделать это так, как это делает переполнение стека при выборе тегов длявопрос.

1 Ответ

2 голосов
/ 16 мая 2011

Вы можете передать функцию как source опция :

$(stuff).autocomplete({
    source: function(request, response) {
      $.ajax({
          url: '/your/autocompleter?pat=' + encodeURIComponent(request.term),
          type: 'get',
          success: function(data) {
              response(data.split('\n'));
          },
          // Other AJAX options as needed
      }),
      // Other autocomplete options as needed
});

Тогда /your/autocompleter получит то, что они в настоящее время ввели в параметре pat, и использует его для запроса вашей базы данных, чтобы найти возможные совпадения. Чтобы вернуть возможные совпадения в автозаполнение, вам просто нужно вернуть возможные совпадения в виде списка строк & mdash; одно совпадение на строку & mdash; с типом контента text/plain. Вам не нужно использовать простой текстовый формат «один на строку», но это, вероятно, самый простой способ, вам нужно только убедиться, что обратный вызов успеха может проанализировать возвращаемые данные /your/autocompleter в массив для передачи в response.

...