简体   繁体   中英

Jquery each function not execute inside gridview textbox in asp.net

Here is my gridview

<asp:GridView ID="gvDoctorVisits" runat="server" DataKeyNames="AdmissionId" class="tableStyle"
    AutoGenerateColumns="False" Width="100%" EmptyDataText="No record found" ShowHeaderWhenEmpty="true">
    <Columns>
        <asp:BoundField DataField="Amount" HeaderText="Amount"></asp:BoundField>
        <%--<asp:BoundField DataField="PaidAmount" HeaderText="Paid Amount"></asp:BoundField>--%>
        <asp:TemplateField HeaderText="Paid Amount">
            <ItemTemplate>
                <asp:TextBox ID="txtPaidAmount" type="text" runat="server" Text='<%# Eval("PaidAmount") %>' CssClass='<%# "txtDoctorPaidAmount "+"txtDPPaidAmount_"+Eval("AdmissionId") %>'></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

I am using j query each function of my gridview textbox class,but jquery each function not executing,here is my code

$(".txtDoctorPaidAmount").on('keyup change', function () {
    debugger;
    var sum = 0;
    $('.txtDoctorPaidAmount').each(function () {
        sum += parseFloat($(this).text()); 
    });
    $("#txtPaidAmount").val(sum.toFixed(2));
});

this each function not executing,how to solve this?

Try this: Use val() instead of text() and add a console.log to see, if iteration is executed.

$(".txtDoctorPaidAmount").on('keyup change', function () {
    var sum = 0;
    $('.txtDoctorPaidAmount').each(function () {
        // use val instead of text
        let inputVal = $(this).val();
        // this line is just to show, that each is executed
        console.log('adding value: ' + inputVal);
        sum += parseFloat(inputVal);
    });
    $("#txtPaidAmount").val(sum.toFixed(2));
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM