1、首先设置datagrid属性的idField主键,这里假如为id。

2、建立一个全局的javascript数组var checkedItems = [],用来存放选中checkbox的值。

3、核心方法,addcheckItem()、removeAllItem(rows)、removeSingleItem(rowIndex, rowData)当选中或者取消checkbox时触发

    用来将checkbox的主键值保存在checkedItems数组,或者从数组中删除对应的id值,findCheckedItem(ID)这个函数用来查找数组中

  是否存在checkbox的值,存在则返回id值,不存在则返回-1.

4、什么时候调用这些方法呢?分别在datagrid的 onCheckAll: addcheckItem,onCheck: addcheckItem,onUncheckAll: removeAllItem,onUncheck: removeSingleItem 这四个事件中

  调用对应的方法。

5、翻页后如何给checkbox赋值呢?关键就在这里,datagrid重写了$.fn.datagrid.defaults.view的onAfterRender事件,

  因此在datagrid的view事件里绑定这个函数就OK了。onAfterRender事件是当easyui的元素渲染完毕后执行的事件,在这里会调用手写的ischeckItem函数来实现对checkbox的赋值!

$("#maingrid").datagrid({ idField: 'id', view: fileview });var fileview = $.extend({}, $.fn.datagrid.defaults.view, { onAfterRender: function (target) { ischeckItem(); } });var checkedItems = [];function ischeckItem() {for (var i = 0; i < checkedItems.length; i++) {$('#maingrid').datagrid('selectRecord', checkedItems[i]); //根据id选中行 }}function findCheckedItem(ID) {for (var i = 0; i < checkedItems.length; i++) {if (checkedItems[i] == ID) return i;}return -1;}function addcheckItem() {var row = $('#maingrid').datagrid('getChecked');for (var i = 0; i < row.length; i++) {if (findCheckedItem(row[i].id) == -1) {checkedItems.push(row[i].id);}}}function removeAllItem(rows) {for (var i = 0; i < rows.length; i++) {var k = findCheckedItem(rows[i].id);if (k != -1) {checkedItems.splice(i, 1);}}}function removeSingleItem(rowIndex, rowData) {var k = findCheckedItem(rowData.id);if (k != -1) {checkedItems.splice(k, 1);}}

转载于:https://www.cnblogs.com/codeloves/archive/2013/01/29/2881692.html

easyui 分页保存checkbox的选中状态相关推荐

  1. layui 数据表格 分页 搜索 checkbox 缓存选中项数据

    在做数据表格的时候遇到了很多坑, 今天整理一下方便以后使用. 主要功能是使用数据表格, 做分页,做搜索,  还有checkbox,  支持全选. 当选中一些数据的时候, 数据切换页面数据在切换回来后, ...

  2. layui 数据表格+分页+搜索+checkbox+缓存选中项数据

    在做数据表格的时候遇到了很多坑, 今天整理一下方便以后使用. 主要功能是使用数据表格, 做分页,做搜索,  还有checkbox,  支持全选. 当选中一些数据的时候, 数据切换页面数据在切换回来后, ...

  3. html5中checkbox的选中状态的设置与获取

    获取checkbox是否选中: $("#checkbox").is(":checked"); 获得的值为true或false. 设置checkbox是否选中: ...

  4. DataList分页,保存CheckBox控件状态

    2019独角兽企业重金招聘Python工程师标准>>> 1.DataList中嵌套CheckBox <asp:DataList ID="dlNews" ru ...

  5. Android实例-手机安全卫士(三十六)-根据Service是否开启确定CheckBox选中状态

    一.目标 1.根据service是否在后台运行情况来确定CheckBox的选中状态: 2.解决"设置中心"的"开启来电号码显示归属地"功能在退出程序再进入时选中 ...

  6. jQuery控制checkbox选中状态但是不显示选中

    问题描述:使用jQuery来控制checkbox的选中状态,但是第一次点击出现选中样式,之后点击可以看到checked的属性增加成功但是并没有选 中状态. 问题代码: function chooseA ...

  7. html控制checkbox选中状态,怎么设置checkbox 选中状态

    项目中经常遇到 checked 选中的问题,可以通过 JS 或者 jQuery 实现. 1.JS 方法 判断选中:var check = document.getElementsByTagName(' ...

  8. checkbox选中和不选中 jqu_jQuery控制checkbox选中状态但是不显示选中

    问题描述:使用jQuery来控制checkbox的选中状态,但是第一次点击出现选中样式,之后点击可以看到checked的属性增加成功但是并没有选 中状态. 问题代码: function chooseA ...

  9. Android ListView中CheckBox选中状态失效的最佳解决方案

    Android ListView中CheckBox选中状态失效: 在ListView中某一项滑到显示区外部的时候,重新划回来时其中的CheckBox的选中状态会重置,本文提出了一种解决方案,操作起来快 ...

  10. 复选框选中状态html,javascript中如何判断checkbox是否选中?

    javascript判断checkbox是否选中的方法:1.直接通过checkbox的checked属性判断.2.调用jQuery使用attr()或is()方法判断. 对于在js中来判断checkbo ...

最新文章

  1. 20145223 《信息安全系统设计基础》课程总结
  2. 红帽企业集群和存储管理之DRBD+Heartbeat+NFS实现详解
  3. python编程16章教程_Python学习笔记__16.2章 TCP编程
  4. 头像裁剪_课堂裁剪|19级油画班油画头像写生作品
  5. colab上下载kaggle上notebook输出的自定义数据集并永久存储到GoogleDrive
  6. 基于HtmlParser的网络爬虫
  7. MySQL 学习一:新手一学就会,MySQL 零基础增删改查简单入门教程
  8. c语言 关键字const_C ++ const关键字| 查找输出程序| 套装1
  9. nginx重启、关闭
  10. Python IDE 神器,PyCharm 2020.1 稳定版发布
  11. ros如何订阅关节力矩信息_ROS中阶笔记(二):机器人系统设计—URDF机器人建模...
  12. 2019-12-02 调用C++高精度时钟 std::chrono::high_resolution_clock的方法
  13. python3 下载网络图片
  14. XP系统无法远程桌面
  15. “反向传播算法”过程及公式推导(超直观好懂的Backpropagation)
  16. 个人成长 | 电子设计大赛感受
  17. regulator linux,关于linux regulator dirver(1) fixed regulator:
  18. 自动化的内容生成语言模型如何帮助您赢得seo竞赛
  19. Java EE版本的eclipse的下载
  20. 近距离看GPU计算(2)

热门文章

  1. Android NDK 入门与实践
  2. oldboy第十三天学习
  3. mysql TIMESTAMP 报错
  4. IE下检测泄露的全局变量
  5. 如何 珍惜自己和珍重别人。珍惜一切
  6. 这 8款开源思维导图工具真的很神奇【程序员必备学习工具】
  7. Widnows开启休眠
  8. TypeScript手册翻译系列1-基础类型
  9. Linux 下删除大量文件
  10. 应用程序平台应用之星:在线手机应用开发平台 不用搭建环境