Мне нужно создать фильтр с помощью текстового поля.Посты разбиты на страницы, и мне нужно позвонить им через ajax.У меня есть шаблон, который будет перезагружаться только после нажатия клавиши Enter.
это код внутри моего PageController.php
public function filter( HTTPRequest $request) {
$tags = $_REQUEST['TAG'];
if ($tags) {
# code...
$blogpost = BlogPost::get()
->leftJoin('BlogPost_Tags', '"BlogPost"."ID" = "BlogPost_Tags"."BlogPostID"')
->leftJoin('BlogTag', '"BlogPost_Tags"."BlogTagID" = "BlogTag"."ID"')
->where(' "BlogTag"."Title" LIKE \'%'.$tags.'%\' ');
}
$pages = new PaginatedList($blogpost, $this->getRequest());
$pages->setPageLength(5);
return $this->$pages->renderWith( ['PostSummary'] );
}
Это код внутри моего JS, выполняющего Ajax
$("#tag_field").on('keyup',function(e){
if (e.keyCode == 13) {
var loc = window.location + '/filter/';
var div = $('.paginated-post').html();
// showSpinner('.listing-items');
//console.log( $('#FilterForm_FilterForm_category').val() + " " + $('#FilterForm_FilterForm_trail').val() );
$.ajax({
type: "POST",
url: loc,
data: {
TAG: $('#tag_field').val(),
//cost: $('#FilterForm_FilterForm_cost').val(),
// OtherID: $('#FilterForm_FilterForm_trail').val()
},
success: function(html){
$('.paginated-post').html(div)
}
});
}
});
Любая помощь с благодарностью.Большое вам спасибо