如何通过 javascript 访问 GridView/DataGrid 选中 CheckBox 行各列的值

原创 2007年09月28日 14:39:00
主要代码
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
            
<Columns>                              
                
<asp:TemplateField>
                    
<ItemTemplate>                        
                        
<asp:CheckBox ID="chkItem1" runat="server" onclick="if(this.checked) alert(getRowValue(this))" />
                        
<%--OR--%>
                        
<%--<input type="checkbox" id="chkItem2" onclick="if(this.checked) alert(getRowValue(this))" />--%>
                    
</ItemTemplate>
                
</asp:TemplateField>
                
<asp:TemplateField HeaderText="ProductName" >
                    
<ItemTemplate><%Eval("ProductName"%></ItemTemplate>
                
</asp:TemplateField>
                
<asp:BoundField DataField="UnitPrice" HeaderText="UnitPrice" />
            
</Columns>
        
</asp:GridView>

<script type ="text/javascript">
    
/**
       返回 chk 所在行的单元格值
       @param chk 表示行中的 input type=check 对象
    
*/

    
function getRowValue(chk)
    
{   
        
//debugger;
//
        if(sender.checked) {  // 根据实际情况,决定是否进行选中状态判断
            var tblRow = chk.parentNode.parentNode;
            
// 改变 tblRow.cells[<cellIndex>] 中占位符 <cellIndex> 访问不同单元格
            //return tblRow.cells[1].innerText + ", " + tblRow.cells[2].innerText;
            return tblRow.cells[1].innerHTML + "" + tblRow.cells[2].innerHTML;
//        }
    }

    
    
/**       
       返回指定 grdId 中所有选中行的单元格值
       @param grdId 表示 GridView/DataGrid 客户端 ID,实际上他们均呈现为 <table />
       @param chkIdPart 表示待处理 input type=check 控件的 ID 中的部分,考虑行中可能存在多个 checkbox, 通过此参数可以准确确定目标
    
*/

    
function getAllRowValue(grdId, chkIdPart)
    
{
        
//debugger;
        var tbl = document.getElementById(grdId);
        
var chkList;
        
var txt = "";
        
/* 方法1
        for(var i = 0; i < tbl.rows.length; i++) { // 遍历行
            chkList = tbl.rows[i].getElementsByTagName("input"); // 返回当前行内嵌的所有 input 控件
            for(var j = 0; j < chkList.length; j++) {
                // 多条件准确确定目标 checkbox
                if(chkList[j].type == "checkbox" && chkList[j].checked && chkList[j].id.indexOf(chkIdPart) > -1) {
                    txt += getRowValue(chkList[j]) + "/n";    
                    break;                
                }
            }
        }
*/

        
/* 方法2 */
        chkList 
= tbl.getElementsByTagName("input");  // 返回表内嵌的所有 input 控件
        for(var j = 0; j < chkList.length; j++{
            
// 多条件准确确定目标 checkbox
            if(chkList[j].type == "checkbox" && chkList[j].checked && chkList[j].id.indexOf(chkIdPart) > -1{
                txt 
+= getRowValue(chkList[j]) + "/n";                                    
            }

        }

        
return txt;
    }

    
</script>
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

jquery-easyui的datagrid在checkbox多选时,行选中不对应,去除高亮的解决方法

jquery-easyui的datagrid在checkbox多选时,行选中不对应,去除高亮的解决方法 checkOnSelect:false,     onSelect:function(rowIn...

easyui datagrid组件 单击行 让他不选中 只有单击checkbox的时候才选中

第一:问题如图 如上图,当单击行的时候,datagrid会默认选中该行。 在easyui的api中,有两个参数: 1、checkOnSelect 如果为true,当用户点击行的时候该复选框就...

asp.net gridview中添加checkbox列,用于全部选中记录或取消全选

方法一:使用javascript代码控制                      ...

操作gridview,选中行时改变背景色且checkbox被选中,隔行变色,全选变色

css: .checked { background: #c0c0ff; } .odd { background: #72FE95; } .even { backgrou...

用javascript操纵GridView中CheckBox的两个常用技巧

这篇文章同样是为了解决一个博问中的提问: 提问:关于JS读取gridview,checkbox选择情况。当然,下面的实现中,有一半是为解决这个问题而做的,另一半是很久前帮另一位朋友做的,同样关于jav...

获取GridView中Checkbox的值

  • 2012-06-28 00:01
  • 17KB
  • 下载

EasyUI多选,easyui datagrid 分页并保持checkbox选中状态

最近在使用EasyUI制作一个多选的功能,查找了很多资料,有几个说的不是很全,所以就尝试去写,今天终于弄出来了,就把完整的代码 贴出来,部门也是参照前人所说: 第一步:JSP页面 ①在data-opt...

新手学EasyUI(七)----DataGrid CheckBox 动态选中

先上一张图:下面说一下具体实现的功能是什么样的。页面首次加载的时候,右面的表格中的CheckBox都处于未选中的状态,现在是这么设计的,时段只有这么8条数据在一张单独的表里面。用户和时段的关系放在另一...

Windows ce 5.0 DataGrid添加CheckBox列

网上类似的资料很少,大多是6.0的或者是PC机上的。 首先从派生DataGridColumnStyle子类DataGridCheckBoxColumn,这里注意由于DataGridColumnSty...

[Silverlight]简单实现DataGrid使用CheckBox选择行

在DataGrid中使用CheckBox选择行时典型的错误就是CheckBox没有Binding到任何属性上,这样的话当拖动滚动条时CheckBox.IsChecked就会乱掉,如Demo中左边那个D...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)