CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解

CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为开发者们建立功能完善的 Web 应用程序。是比较主流的一个PHP框架。

下面给大家介绍CI框架(ajax分页,全选,反选,不选,批量删除)完整代码,具体代码如下所示:

//ajax分页+搜索(视图层)
function ajax_page(page){
var sou = $('#sou').val();
$.ajax({
type: "POST",
dataType: "json",
url: "<?PHP echo site_url('Welcome/ajax_page')?>",
data: "page="+page+"&sou="+sou,
success: function(data){
var str="";
str+="<table border='1' style='text-align:center'>";
str+="<tr>";
str+="<td><input type='checkbox' class='quan'/></td>";
str+="<td>ID</td>";
str+="<td>用户名</td>";
str+="<td>操作</td>";
str+="</tr>";
$.each(data.list,function(i,item){
if(item.state==0){
var locks = "<a href='JavaScript:void(0)' class='lok' fla='"+item.id+"' id='lock"+item.id+"'>未锁定</a>"
}else{
var locks = "<a href='javascript:void(0)' class='lok' fla='"+item.id+"' id='lock"+item.id+"'>锁定</a>"
}
str+="<tr id='av"+item.id+"'>";
str+="<td><input type='checkbox' class='ss' value='"+item.id+"'/></td>";
str+="<td>"+item.id+"</td>";
str+="<td>"+item.name+"</td>";
str+="<td>"+locks+"</td>";
str+="</tr>";
})
str+="<tr>";
str+="<td><input type='button' id='pdel' value='批量删除'></td>"
str+="</tr>";
str+="</table>";
str+=data.pagestr;
$('#content').html(str);
}
})
}
//状态切换
$(document).on('click','.lok',function(){
var id = $(this).attr('fla');
$.ajax({
type: "POST",
url: "<?php echo site_url('Welcome/upds')?>",
data: "id="+id,
success: function(msg){
if(msg==1){
$('#lock'+id).html("锁定");
}else{
$('#lock'+id).html("未锁定");
}
}
})
})
//批量删除
$(document).on('click','#pdel',function(){
var ids = $('.ss');
var str="";
$.each(ids,function(i,item){
if(ids[i].checked==true){
str=str+','+ids[i].value;
}
})
var new_str=str.substr(1);
$.ajax({
type: "POST",
url: "<?php echo site_url('Welcome/pdels')?>",
data: "new_str="+new_str,
success: function(msg){
$.each(ids,function(i,item){
if(ids[i].checked==true){
$('#av'+ids[i].value).remove();
}
})
}
})
})
//全选(复选框)
$(document).on('click','.quan',function(){
var obj = $(':checkbox');
var ids = $('.ss');
if(obj[0].checked==true){
$.each(ids,function(i,item){
ids[i].checked=true;
})
}else{
$.each(ids,function(i,item){
ids[i].checked=false;
})
}
})
<td><input type="checkbox" class="checks" value="<?php echo $val['u_id']?>"/></td>
//全选(按钮)
$('.quan').click(function(){
var ids = $('input:checkbox');
$.each(ids,function(i,item){
ids[i].checked=true;
})
})
//全不选
$('.bu').click(function(){
var ids = $('input:checkbox');
$.each(ids,function(i,item){
ids[i].checked=false;
})
})
//反选
$('.fan').click(function(){
var ids = $('.checks');
$.each(ids,function(i,item){
ids[i].checked=!ids[i].checked;
})
})
//即点即改
$(document).on('click','.ss',function(){
var id = $(this).attr('id');
var con = $(this).text();
$(this).parent().html("<input type='text' id='"+id+"' class='aa' value='"+con+"'>");
$('.aa').val('').focus().val(con);
$(document).on('blur','.aa',function(){
var id = $(this).attr('id');
var cons = $(this).val();
$(this).parent().html("<span id='"+id+"' class='ss'>"+cons+"</span>");
$.ajax({
type: "POST",
url: "<?php echo site_url('Welcome/upd_ji')?>",
data: "id="+id+"&cons="+cons
})
})
})
//导出
$(document).on('click','#chu',function(){
var sou = $('#sou').val();
location.href="<?php echo site_url('excel/export')?>?sou="+sou;
})
//ajax分页(控制层)
public function ajax_page(){
$sou = $this->input->post('sou');
$count = $this->db->where("name like '%$sou%'")->count_all_results("peng");
$number = 3;
$this->session->set_userdata('number',$number);
$pagecount = ceil($count/$number);
@$page = $_POST['page']?$_POST['page']:1;
$this->session->set_userdata('page',$page);
$start = ($page-1)*$number;
$arr['list'] = $this->db->where("name like '%$sou%'")->limit($number,$start)->get("peng")->result_array();
$up_page = $page-1<1?1:$page-1;
$down_page = $page+1>$pagecount?$pagecount:$page+1;
$str = "";
$str .= "<a href='javascript:void(0)' onclick='ajax_page($up_page)'>上一页</a>";
for($i=1;$i<=$pagecount;$i++){
if($i==$page){
$str .= "--"."<b>$i</b>";
}else{
$str .= "--"."<a href='javascript:void(0)' onclick='ajax_page($i)'>$i</a>";
}
}
$str .= "--"."<a href='javascript:void(0)' onclick='ajax_page($down_page)'>下一页</a>";
$arr['pagestr'] = $str;
echo json_encode($arr);
}
//状态切换
public function upds(){
$id = $this->input->post('id');
$arr = $this->db->get_where("peng","id='$id'")->row_array();
if($arr['state']==0){
$data['state']=1;
$this->db->where("id='$id'")->update("peng",$data);
echo "1";
}else{
$data['state']=0;
$this->db->where("id='$id'")->update("peng",$data);
echo "2";
}
}
//批量删除
public function pdels(){
$str = $this->input->post('new_str');
$this->db->where("id in($str)")->delete("peng");
}

以上所述是小编给大家介绍的CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)

    本文实例总结了CI框架常用经典操作类.分享给大家供大家参考,具体如下: 1. 超级对象中的URI CI_URI类的解析url的相关信息 直接使用$this->uri可以使用它的相关属性 system/core/URI.php文件中 部分常用属性: (1) 分段获取url相关信息 $this->uri->segment(4); //获取url中pathinfo //的第四段的值 入口文件.php/控制器/动作/参数1/参数2/... (2) 通过方法中的形参传参 需要设默认值和顺序要注意

  • CI框架简单邮件发送类实例

    本文实例讲述了CI框架简单邮件发送类.分享给大家供大家参考,具体如下: ci框架绝对是php初学中想要的东西,它能极大的缩短你的代码量! 下面看看我的发送邮件的简单演示: function email() { $this->load->library('email'); $config['protocol'] = 'smtp'; $config['smtp_host'] = 'smtp.163.com'; $config['smtp_user'] = 'jb51@163.com';//这里写上

  • CI框架扩展系统核心类的方法分析

    本文实例讲述了CI框架扩展系统核心类的方法.分享给大家供大家参考,具体如下: 首先你系统扩展类是放在application/core下面的,本来系统核心类是CI_Controller,所以你不能以CI_开头了,你需要打开 application/config/config.php 修改: $config['subclass_prefix'] = 'MY_'; 为你的前缀! 一些公共的模块就可以卸载自己的核心类里面了! 这几天读了Dilicms(轻量级的后台架构),比如说他的后台扩展类是这样的:

  • CI框架文件上传类及图像处理类用法分析

    本文实例讲述了CI框架文件上传类及图像处理类用法.分享给大家供大家参考,具体如下: //列表页banner图片 public function edit_list_page_banner($category_id=""){ $category_id= empty($category_id)?$_POST["category_id"]:$category_id; //上传图片 if(isset($_POST["key"]) && $

  • CI框架中zip类应用示例

    CI框架自带的zip类简单实用,本文就来简单说一下CI框架的zip类的使用. 首先需要导入zip类: 复制代码 代码如下: $this->load->('zip'); 此外,但是考虑到CI的结构,还需要设置一下自动加载类,把zip加载进去.也可以在设置的时候,统一加载.大家如果遇到这个问题可能就是自动加载没有加载zip类.具体调用方法如下: 复制代码 代码如下: $path = $_SERVER['DOCUMENT_ROOT'];//需要压缩的文件夹路径$this->zip->re

  • CI框架安全类Security.php源码分析

    CI安全类提供了全局防御CSRF攻击和XSS攻击策略,只需要在配置文件开启即可: 复制代码 代码如下: $config['csrf_protection'] = TRUE; $config['global_xss_filtering'] = TRUE; 并提供了实用方法: 复制代码 代码如下: $this->security->xss_clean($data);//第二个参数为TRUE,验证图片安全 $this->security->sanitize_filename()//过滤文

  • php ci框架验证码实例分析

    php代码: 复制代码 代码如下: <?php class Captcha_code{ var $width='60'; var $num='4'; var $height='20'; var $name='randcode'; public function __construct($conf="") {  if($conf!="")  {   foreach($conf as $key=>$value)   {    $this->$key=$

  • CI框架验证码CAPTCHA辅助函数用法实例

    本文实例讲述了CI框架验证码CAPTCHA 辅助函数的用法,分享给大家供大家参考.具体如下: 使用CAPTCHA 辅助函数很方便生成验证码,但是图片是存储在文件夹下,不是输出流,感觉不够完美,可以拿来用用. 说明:产生4位的随机数,CI根目录下建立captcha文件夹. 复制代码 代码如下: <?php $this->load->helper('captcha'); $vals = array(     'word' => rand(1000, 10000),     'img_p

  • CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解

    CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而"优雅"的工具包,它可以为开发者们建立功能完善的 Web 应用程序.是比较主流的一个PHP框架. 下面给大家介绍CI框架(ajax分页,全选,反选,不选,批量删除)完整代码,具体代码如下所示: //ajax分页+搜索(视图层) function ajax_page(page){ var sou = $('#sou').val(); $.ajax({ type: "POST", dataTyp

  • 基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能

    建议有js基础,了解jquery,thinkphp,废话不说多下面就上代码 <----HTML----> //thinkphp循环显示把data里fid赋予多选框 <volist name="data" id="vo"> <tr> <td><input type="checkbox" value="{$vo.fid}"/></td>//可在后面加td输入参

  • js实现全选反选不选功能代码详解

    本文实例为大家分享了js实现全选反选不选功能的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <meta charset='utf-8' /> <body> <input type='checkbox' name='id' />哈哈<br/> <input type='checkbox' name='id' />哈哈<br/> <input type='checkbox'

  • CI框架简单分页类用法示例

    本文实例讲述了CI框架简单分页类用法.分享给大家供大家参考,具体如下: /** * * 关于 页码有效性的判断需要加在 控制器中判断,即当页码数<1或者>总页数 * */ class Custom_pagination { var $page_url = ''; //分页目标URL var $page_size = 10; //每一页行数 var $page_num = 1;//页码 var $rows_num= '';//数据总行数 var $links_num= 3;//选中链接前后的链接

  • jQuery Ajax 全局调用封装实例代码详解

    有一种情况:全站都要用异步方式来调用 数据,提交数据,那么你每次操作 都会要$.ajax({.....}) 写重复的方法 和代码,冗余太大, 也浪费时间,虽说你有代码自动提示补全,但真的不优雅,身为前端极客,是不能允许的! [嘿嘿!虽说我现在基本不用jquery了 ,不过异步概念 是永远要用的,就帮助下新人] jQuery Ajax通用js封装 第一步:引入jQuery库 <script type="text/javascript" src="/js/jquery.mi

  • 复选框和Struts2后台交互代码详解

    本文研究的主要是Struts框架中复选框的相关内容.复选框在web开发中用的非常广泛,具体介绍如下. 案例 如下图,当前为用户选中的水果为"香蕉",点击按钮,跳转到修改界面进行修改. 跳转到修改界面后要回显用户的选择(香蕉),然后由用户再次进行勾选,如图: 前台界面: <body> <form action="checBoxAction_test.action" method="post"> 请选择您喜欢的水果:<b

  • 使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解

    最近在做项目时,遇到了需要用到多选按钮选中触发事件的功能,因此我查找了一下AngularJS的提供的指令,但是没有发现相应的指令.而一个看起来很像的指令就是ng-checked,但是这个指令是用来代替标签里面checked属性的,所以也用不了.因此我就自己动手试着写一个这样的指令,相应的代码如下: <form name="test_form" ng-controller="TestCtrl"> <input type="checkbox&

  • Oracle分页查询性能优化代码详解

    对于数据库中表的数据的 Web 显示,如果没有展示顺序的需要,而且因为满足条件的记录如此之多,就不得不对数据进行分页处理.常常用户并不是对所有数据都感兴趣的,或者大部分情况下,他们只看前几页. 通常有以下两种分页技术可供选择. Select * from ( Select rownum rn,t.* from table t) Where rn>&minnum and rn<=&maxnum 或者 Select * from ( Select rownum rn,t.* fro

  • 最新最全PHP生成制作验证码代码详解(推荐)

    1.0 首先先看代码 <?php header("Content-Type:text/html;Charset=UTF-");// 设置页面的编码风格 header("Content-Type:image/jpeg");// 通知浏览器输出的是jpeg格式的图像 $img = imagecreatetruecolor(,);//创建画布并设置大小 x轴 y轴 $bgcolor = imagecolorallocate($img, mt_rand(,), mt_

  • java集合框架线程同步代码详解

    List接口的大小可变数组的实现.实现了所有可选列表操作,并允许包括null在内的所有元素.除了实现List接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小.(此类大致上等同于Vector类,除了此类是不同步的.)size.isEmpty.get.set.iterator和listIterator操作都以固定时间运行.add操作以分摊的固定时间运行,也就是说,添加n个元素需要O(n)时间.其他所有操作都以线性时间运行(大体上讲).与用于LinkedList实现的常数因子相比,此实现的

随机推荐