【发布时间】:2016-06-30 08:55:17
【问题描述】:
这是我的选择:
<select id="slc_action" class="form-control" style="margin:0;">
<option value="0"> Select Activity</option>
<?php foreach($admin_action as $row){
echo "<option value='" . $row['action_id'] . "''>" . $row["event"] . "</option>";
}?>
</select>
这是我的 jquery :
<script>
$(document).ready(function() {
$("#slc_action").change(function(){
var action_id = $("#slc_action").val();
jQuery.ajax({
type: 'POST',
url: '/ADMIN/ajax/activity_list',
dataType: 'html',
data: {action_id: action_id
},
success: function(res) {
if (res)
{
$("#activity_list").html(res);
}
}
});
});
});
</script>
这是我的 ajax 调用控制器:
function activity_list(){
$action_id = $this->input->get("action_id");
$config = array();
$config["base_url"] = "/ADMIN/Account/admin_activity/";
$config["total_rows"] = $this->Ajax_m->m_count_activity($action_id);
$config["per_page"] = 10;
$config["uri_segment"] = 5;
//config for bootstrap pagination class integration
$config['full_tag_open'] = '<ul class="pagination">';
$config['full_tag_close'] = '</ul>';
$config['first_link'] = false;
$config['last_link'] = false;
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';
$config['prev_link'] = '«';
$config['prev_tag_open'] = '<li class="prev">';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = '»';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['num_links'] = 10;
$this->pagination->initialize($config);
$page = ($this->uri->segment(5)) ? $this->uri->segment(5) : 0;
$data["no"]=$page;
$data["activity_list"] = $this->Ajax_m->m_get_activity($action_id,$config["per_page"], $page);
$data["links"] = $this->pagination->create_links();
$this->load->view("/ADMIN/".country_code."/Admin_activity_list",$data);
}
这适用于 ajax 模型:
function m_get_activity($action_id,$limit,$start){
$this->db->limit($limit,$start);
$this->db->select("admin_name,action_id,querylog,time,");
$this->db->from("uhd_admin_activity");
$this->db->where("action_id=",$action_id);
$query = $this->db->get();
return $query->result_array();
}
function m_count_activity($action_id){
if($action_id != null) $this->db->where("action_id = '$action_id'" , NULL, FALSE);
$this->db->from("uhd_admin_activity");
return $this->db->count_all_results();
}
该代码在我的第一个视图中,如果我选择该选项,它将根据所选显示activity_list。
我将分页放在那个 ajax url 上,如果我点击分页,我所有的 activity_list 都将消失,所选选项将返回到 Select Activity。
你们知道怎么解决这个问题吗?
【问题讨论】:
-
把你的控制器代码也放上去。
-
@RajJagani 我的控制器代码太长。
-
只需发布您的分页配置设置
-
你想在活动列表出现后进行ajax分页,否则它将刷新整个页面,因为codeigniter直到现在还没有提供任何ajax分页。
-
您是否验证过
action_id被一个值填充?
标签: php jquery ajax codeigniter pagination