我有一个gridview
,在页脚中它将总值放在grandTotalPCT
中。如果grandTotalPCT
不等于100,我希望按钮btnUpdatePCTD
保持禁用状态,如果它等于100,则启用该按钮。
以下代码是从另一个函数调用的,该函数在grandTotalPCT
值更改时起作用。问题是按钮状态不会改变。
<asp:TemplateField HeaderText="Line" ItemStyle-Width="50%">
<ItemTemplate>
<asp:Label ID="lblLineD" runat="server" Text='<%# Bind("line") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="btnUpdatePCTD" runat="server" Text="Update" CssClass="btn btn-default btn-sm" OnClick="updateDockPCT" Enabled="False" />
</FooterTemplate>
<FooterStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="% Target" ItemStyle-Width="25%">
<ItemTemplate>
<asp:TextBox ID="tbPTC" runat="server" Text='<%# Convert.ToDouble(Eval("dailypercent")) * 100 %>' CssClass="tbPTC"></asp:TextBox>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="grandTotalPCT" runat="server" CssClass="grandTotalPCT"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
//To get grand Total PCT
function CalculateGrandTotalPCT() {
var grandTotalPCT = 0.0;
$('#<%=gvDockPCT.ClientID %> tr:gt(0)').each(function () {
grandTotalPCT = grandTotalPCT + parseFloat($(this).find('.tbPTC').length == 0 || !$(this).find('.tbPTC').val() ? 0 : $(this).find('.tbPTC').val());
});
$('#<%=gvDockPCT.ClientID %> .grandTotalPCT').text(grandTotalPCT.toFixed(3));
if (grandTotalPCT.toFixed(3) == 100.000)
{
$('#<%=gvDockPCT.ClientID %> .btnUpdatePCTD').prop('disabled', false);
}
else
{
$('#<%=gvDockPCT.ClientID %> .btnUpdatePCTD').prop('disabled', true);
}
}
答案 0 :(得分:0)
我建议使用select list item
事件,而不是jQuery。
OnRowDataBound
答案 1 :(得分:0)
我必须将按钮名称添加到cssclass CssClass =&#34; btnUpdatePCTD btn btn-default btn-sm&#34;
<asp:Button ID="btnUpdatePCTD" runat="server" Text="Update" CssClass="btnUpdatePCTD btn btn-default btn-sm" OnClick="updateDockPCT" Enabled="False" />