我有一个默认显示所有测试事件的页面(初始页面 View )
我的 Controller :
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 的事件?
顺便说一句,我正在使用 codeigniter。谢谢
谢谢,抱歉打扰你们了。
最佳答案
抱歉我的英语不好。
首先,要从 codeigniter 中的 post 检索数据,请使用 $this->input->post('event_filter')。
如果您正在调用“/site/example/displayEvents”,则在此函数“displayEvents”中,您必须调用模型中的函数。
public function displayEvents(){
$data->variableToSend = $this->example_model->events_data($this->input->post('event_filter'));
$this->load->view('nameOfViewToDisplayData',$data);
}
View 是ajax调用的结果,然后你可以将它放在div中。
success: function(data){
$('#target_div').html(data);
},
关于javascript - 使用 ajax 使用不同的值重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26276881/