У меня есть страница, которая отображает все тестовые события по умолчанию (Initial Page View)Перезагрузить страницу используя различное значение с помощью Ajax
Мой контроллер:
public function testController()
{
$category = 0; //NEED TO BE CHANGED WHEN USER SELECTED TEST EVENT 2 AND GET ALL EVENTS (Category 2)
$getEventsBasedOnCategory = //DB QUERY TO GET ALL EVENTS (Category 0)
//Pass all events to view
}
Мой HTML-страница:
<select id = "event_filter">
<option value="" selected="selected" disabled>SELECT Event</option>
<option value="0">All Test Events</option>
<option value="2">Test Event 2</option>
</select>
Мой запрос ajax:
$("#event_filter").change(function(){
$.ajax({
url: '/site/example/displayEvents',
data: {
event_filter: $("#event_filter").val()
},
async: false,
type: 'POST',
success: function(data){
},
});
});
Мой вопрос: как изменить категорию на 2 (если пользователь выбрал 2 в поле выбора) и запросить снова из базы данных и отобразить события с категорией 2 на сайте?
Im использование codeigniter кстати. Спасибо
Спасибо, Извините, что беспокоили вас, ребята.
Вы можете не получить доступ к 'event_filter' значение в функции контроллера, выполнив' $ _POST [ 'event_filter'] 'или что-то вроде '$ this-> вход-> пост ('event_filter')'? –
Вам нужно добавить контроллер для вызова AJAX, который запрашивает базу данных для событий с категорией того, что когда-либо было выбрано. Затем вам нужно передать эти результаты обратно в jQuery, чтобы сгенерировать html для представления. Возможно, вам будет проще отказаться от AJAX и выполнить простой запрос POST на тот же контроллер. –
Здравствуйте, я хочу, чтобы запрос выполнялся в событии onchange() поля select, а не при отправке формы. –