我在gridviewcolumn的footertemplate中有一个标签。我想在javascript中将此标签中的计算值(行值的总和)放入。我可以访问我的Itemtemplates中的所有文本框,但我不知道如何在我的foortertemplates中找到我的标签。
.aspx:gridview中的列
<asp:TemplateField HeaderText="Prijs excl. BTW">
<ItemTemplate>
<asp:TextBox ID="txtBTWTarief" Width="60px" runat="server" Text='<%# Eval("exclBTW") %>' />
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblTotexclBTW" runat="server" Text="0" Width="60px"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
.aspx.cs:附加到我的文本框和ddl
的eventhandlersprotected void gridviewDiversen_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string evtHandler;
int rowIndex = Convert.ToInt32(e.Row.DataItemIndex) + 1;
evtHandler = "updateValue(" + gridviewDiversen.ClientID + "," + rowIndex + ")";
((TextBox)e.Row.FindControl("txtBTWTarief")).Attributes.Add("onblur", evtHandler);
((TextBox)e.Row.FindControl("txtKorting")).Attributes.Add("onblur", evtHandler);
((DropDownList)e.Row.FindControl("ddlBTW")).Attributes.Add("onchange", evtHandler);
}
}
javascript:eventhandlers in action
function updateValue(theGrid, rowIdx)
{
var ddl, t1, t2, l1, l2, l3, l4, k1;
ddl = document.getElementById(theGrid.rows[rowIdx].cells[2].children[0].id);
t1 = document.getElementById(theGrid.rows[rowIdx].cells[3].children[0].id);
//calculations...
}
在这个脚本中,我在Itemtemplate中找到了我的文本框,但我不知道如何在页脚模板中找到我的标签。有人有想法吗? THX
答案 0 :(得分:0)
如果您在JS中进行计算并需要使用客户端查找标签,则可以使用jQuery:
$('.yourLabelClass').html('Updated results');
或只是JS:
var labels = document.getElementsByTagName("span");
for (var i=0; i < labels[i]; i++) {
if (labels[i].className && labels[i].className == 'yourLabelClass')
labels[i].innerHTML = 'Updated results';
}