У меня возникла проблема с полем поиска на моем сайте, и я надеюсь, что вы можете мне помочь. Я получил таблицу под названием «Клиенты» с некоторой информацией, такой как имя, фамилия, адрес и т. Д. И все файлы MVC. Для тестирования я использую функцию индекса клиента. В моем файле просмотра у меня есть поле ввода, где я хочу искать клиентов. когда я набираю не менее 4 букв, функция поиска должна автоматически отображать имена клиентов в контейнере div в поле поиска (например, поиск в режиме реального времени Google). В основном это работает, но после первого поиска я получил второй ввод в своих клиентах div и после некоторых поисков он сломается. Я думаю, что мое решение также не подходит для этого. Вот мой код контроллера:Cakephp Ajax Request
public function index($searchterm=NULL) {
if ($this->RequestHandler->isAjax()) {
$clients=$this->Client->find('list', array(
'conditions'=>array('LOWER(Client.lname) LIKE \''.$searchterm.'%\''),
'limit'=>500
));
$this->set('clients', $clients);
}
}
Вид:
<script type="text/javascript">
$(function() {
$("#element", this).keyup(function(event) {
if($(this).val().length >= 4) {
$.ajax({
url: '/clients/index/' + escape($(this).val()),
cache: false,
type: 'GET',
dataType: 'HTML',
success: function (clients) {
$('#clients').html(clients);
}
});
}
});
});
</script>
<?php echo $this->Form->input('element', array('id'=>'element'));?>
<div id="clients">
<?php
foreach ($clients as $client) {
echo '<br>';
echo $client;
}
?>
</div>
Я надеюсь, что вы можете помочь мне улучшить это немного ...
Дайте мне знать, если у вас есть какие-либо вопросы или проблемы. –