这次的知识点是如何使用js获取checkbox控件所在的是第几行!!!

我们可以使用 JavaScript 中自带的 rowIndex 和 cellIndex 来获取行和列的键值 (从0开始)

这两个一定要记好:

var row_num = GV.rows[i].cells[0].children(0).parentNode.parentNode.rowIndex;

var col_num = target.parentNode.cellIndex;

获取 parentNode (也就是 td),td.cellIndex 就是所在列的键值

获取 parentNode.parentNode (也就是 tr),tr.rowIndex 就是所在行的键值

在开发过程中,GridView绑定数据时需要在第一列绑定checkbox控件用来执行多选等复杂操作,然后可以在前台页面通过手动点击checkbox来使其checked属性变成true也就是选中状态,在后台循环时可以轻松获取到checkbox的checked值,但是由于一些业务需求可能不需要使用手动去点击,而是通过编写出js方法,若符合方法结果的则循环修改checkbox的checked属性变成true也就是选中状态,这时会发现在后台是获取不到checkbox的checked值。

在我遇到这个问题时也让我困扰了好久,明明在前台通过js方法已经将某些checkbox控件的checked值设置为true了,为什么在后台就是获取不到呢?

好了,我来说一下最后我是怎么解决的:

首先这个问题是在前台js中可以获取到checkbox的checked的值,但是在后台循环时获取不到。

先设置一个隐藏控件:

<input type="hidden" id="row_num" runat="server" />

在前台先通过循环判断被选中的checkbox

if (GV.rows[i].cells[0].children(0).checked) {
                        var row_num = GV.rows[i].cells[0].children(0).parentNode.parentNode.rowIndex;
                        document.getElementById("row_num").value = row_num;
                    }

然后通过 var row_num = GV.rows[i].cells[0].children(0).parentNode.parentNode.rowIndex;来获取到在GridView中第几行的CheckBoex的行数,然后赋值到一个隐藏控件上去,这样在后台就可以获取到这个隐藏控件上面的值了,然后通过在Rows[]里面将取得的数减1就是在前台被选中的checkbox的行数,最后将它设置为True就OK了。

if (this.row_num.Value != "") {
            int j = Convert.ToInt32(this.row_num.Value);
            (this.GridView1.Rows[j - 1].Cells[0].FindControl("CKB_data") as CheckBox).Checked = true;
            this.row_num.Value = "";
        }

最新文章

  1. spring aop源码实现分析
  2. hdu1240 bfs 水题
  3. 关于 Graph Convolutional Networks 资料收集
  4. JsCss笔记
  5. ubuntu中一些配置文件含义
  6. 160926、Java-SpringMVC统一异常处理
  7. MD5加密方式
  8. 转一篇:文档笔记之Django QuerySet
  9. 阿里云centos 安装 nodejs npm express
  10. 要注意null合并运算符的优先级比+还要低
  11. Java内部类之匿名内部类
  12. devexpress表格控件gridcontrol图片列,按钮列,时间列等特殊列的实现
  13. Entity Framework细节追踪
  14. AspNetCore 基于流下载文件与示例代码
  15. 简单kmp算法(poj3461)
  16. Ubuntu16.04主题美化
  17. oracle USING 用法
  18. Codeforces191 C. Fools and Roads
  19. [转]Microsoft SQL SERVER 2008 R2 REPORT SERVICE 匿名登录
  20. Knockout开发中文API系列1

热门文章

  1. 启动QQ时出现无法访问个人文件夹怎么决解
  2. mac Idea快捷键小记
  3. CSS&amp;HTML标签
  4. Elasticsearch入门,看这一篇就够了
  5. Java中对象池的本质是什么?(实战分析版)
  6. ACM基础板子
  7. 程序时间计算函数(被tle出阴影来了)
  8. mybaties longtext 类型不能映射到自动生成的文件
  9. static 静态文件配置
  10. prometheus node-exporter增加新的自定义监控项