Я создаю веб-приложение для работы, где пользователь должен ввести имя человека, который запросил работу. Я бы хотел создать простое раскрывающееся меню AJAX с автоматическим предложением, поэтому им не нужно вводить имя целиком. На бэкэнде база данных будет содержать предложения, основанные на предыдущих записях. Веб-сайт построен с использованием CakePHP 1.1.
Я знаю, что там много библиотек, некоторые лучше других. Какой, по вашему мнению, самый быстрый и простой в реализации?
Поскольку вы используете CakePHP 1.1, я предлагаю вам ознакомиться с частью руководства, касающейся помощников
Если вы перейдете к «AJAX», вы увидите, что вы можете сделать что-то подобное в своем контроллере:
function autocomplete () { $this->set('people', $this->Person->findAll("name LIKE '%{$this->data['Person']['name']}%'") ); $this->layout = "ajax"; }
И в вашем представлении autocomplete.thtml
вас будет:
<ul> <?php foreach($people as $person): ?> <li><?php echo $person['Person']['name']; ?></li> <?php endforeach; ?> </ul>
И чтобы создать поле автозаполнения в другом представлении, вы должны:
<form action="/people/index" method="POST"> <?php echo $ajax->autoComplete('Person/name', '/people/autocomplete/')?> <?php echo $html->submit('View Person')?> </form>
Для этого вам нужно иметь «Ajax» в вашем массиве helpers
и включить библиотеки Prototype / script.aculo.us.
Удачи.
Я добился больших успехов в реализации Auto-Suggest Brand Spanking New . Он также содержит примеры PHP.
Вы не можете ошибиться в jQuery. http://nodstrum.com/2007/09/19/autocompleter/