Jquery каждая функция не выполняется внутри текстового поля gridview в asp.net - PullRequest
0 голосов
/ 14 июля 2020

Вот мой 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>

Я использую j-запрос каждой функции моего класса текстового поля gridview, но jquery каждая функция не выполняется, вот мой код

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

каждая функция не выполняется, как решить эту проблему?

1 Ответ

1 голос
/ 14 июля 2020

Попробуйте следующее: используйте val() вместо text() и добавьте console.log, чтобы увидеть, выполняется ли итерация.

$(".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));
});
...