私はgridview
を持っており、フッターに合計値はgrandTotalPCT
となります。 grandTotalPCT
が100に等しくない場合、ボタンbtnUpdatePCTD
を無効のままにしたい場合は、100と等しい場合はボタンが有効になります。jqueryでgridviewのボタンを有効にする
以下のコードは、値の変更が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);
}
}
をのCssClassするボタン名を追加する必要がありました、私はすべての値を合計しています行。 blurメソッドを使用してフィールドが変更されると、合計が再計算されます。 prop( 'disabled'、false)は動作しますが、すべてのボタンを無効にします。 – user2369812
$( 'input [type = "submit"]' – user2369812
RowDataBoundを展開して、行とその値を含めることができます。更新された回答を参照してください。 – VDWWD