【转帖】如何通过 javascript 访问 GridView/DataGrid 选中 CheckBox 行各列的值
生活随笔
收集整理的這篇文章主要介紹了
【转帖】如何通过 javascript 访问 GridView/DataGrid 选中 CheckBox 行各列的值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
功能需求
1, ?單擊 checkbox 返回當前行值
2,? 外部按鈕獲取所有選擇行的值
實現說明
參見主要代碼,代碼為自說明式。
原文地址:http://www.cnblogs.com/Jinglecat/archive/2007/07/15/818967.html
主要代碼
<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>
轉載于:https://www.cnblogs.com/dupeng0811/archive/2011/08/18/2144904.html
總結
以上是生活随笔為你收集整理的【转帖】如何通过 javascript 访问 GridView/DataGrid 选中 CheckBox 行各列的值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 办理社保卡多少钱
- 下一篇: 求一个阳光的快乐个性签名。