【发布时间】:2018-05-08 12:46:58
【问题描述】:
我将 gridview 与复选框作为第一列,我正在尝试使用附加到下面提到的复选框的 Javascript 函数来获取所选复选框的完整行值。
我尝试了不同的方法,但卡在了中间,这就是我再次在这里发帖的原因。
但是有些我没有进入 for 循环,我不确定这段代码在哪里出错。
Javascript 函数:
function checkForVirtual(){
var GridView = document.getElementById('<%=gvPRCertInfo.ClientID %>');
if (GridView.rows.length > 0) {
alert('check');
for (Row = 1; Row < GridView.rows.length; Row++) {
alert("check 2 times");
if (GridView.rows[Row].cell[1].type == "checkbox") {
/// not getting into this
/// alert is not firing even if the checkbox is there
alert('inside');
if (GridView.rows[Row].cell[0].childNodes[0].checked) {
alert('checked');
var type = GridView.rows[Row].cell[3].childNodes[0].val();
alert(type);
}
}
}
}
}
这是我的网格视图:
<asp:GridView ID="gvPRCertInfo" runat="server" AutoGenerateColumns="False" GridLines="None"
OnRowDataBound="gvPRCertInfo_RowDataBound"
CssClass="data responsive">
<Columns>
<asp:TemplateField HeaderText="Select" SortExpression="">
<HeaderTemplate>
<asp:CheckBox ID="chkboxSelectAll" runat="server" AutoPostBack="true" OnCheckedChanged="chkboxSelectAll_CheckedChanged"/>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkCert" AutoPostBack="true" OnCheckedChanged="chkCert_CheckedChanged" OnClick="Javascript:checkForVirtual();" runat="server" />
<input type="hidden" id="hdnCertId" runat="server" value='<%# DataBinder.Eval(Container.DataItem, "CertId") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="CertificateID" HeaderText="Certificate ID" HeaderStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="partID" HeaderText="Part Number" HeaderStyle-HorizontalAlign="Center" />
..............................
</Columns>
.........................
.......................
</asp:GridView>
有人可以帮忙解决这个问题吗?
【问题讨论】:
-
@VDWWD 不要将其标记为重复我尝试了不同的方法但它不起作用这就是我在这里发布的原因..
-
谁能帮忙解决这个问题...
标签: javascript jquery asp.net gridview dom-events