Сравнение данных строки JavaScript для сетки asp.net - PullRequest
0 голосов
/ 26 мая 2018

Мне нужно сравнить данные двух столбцов для каждой строки, и значение данных первого столбца не должно быть больше второго.Если данное условие действительно, то я должен получить сумму значений в третьем столбце.

Я не реализовал JavaScript для вида сетки.Это мой первый раз.Пожалуйста, дайте мне представление, как это сделать.

<asp:GridView ID="tblEmployment"
    runat="server"
    AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField HeaderText="MALE EMP">
            <ItemTemplate>
                <input type="number" id="inputMaleEmp" min="0" value="0" runat="server">
            </ItemTemplate>
        </asp:TemplateField>

        <asp:TemplateField HeaderText="FEMALE EMP">
            <ItemTemplate>
                <input type="number" id="inputFemaleEmp" runat="server" min="0" value="0">
            </ItemTemplate>
        </asp:TemplateField>

        <asp:TemplateField HeaderText="SHIFT">
            <ItemTemplate>
                <input type="text" id="inputShift" runat="server" />
            </ItemTemplate>
        </asp:TemplateField>

        <asp:TemplateField HeaderText="TOTAL">
            <ItemTemplate>
                <input type="number" runat="server" id="inputTotalEmp">
            </ItemTemplate>
        </asp:TemplateField>

    </Columns>
</asp:GridView>

Здесь значение inputMaleEmp должно быть больше, чем inputFemaleEmp, и, если оно действительно, общая сумма должна отображаться в inputTotalEmp, а inputShift не должно быть null.Как я могу сделать это с помощью JavaScript?

1 Ответ

0 голосов
/ 26 мая 2018

Вы можете сделать что-то вроде этого

<script type="text/javascript">
    $(document).ready(function () {
        $('#<%= tblEmployment.ClientID %> input').change(function () {

            var value1 = 0;
            var value2 = 0;
            $(this).closest('tr').find('input').each(function (index, element) {
                if (index === 0) {
                    value1 = parseInt($(this).val());
                } else if (index === 1) {
                    value2 = parseInt($(this).val());
                } else if (index === 2) {
                    if (value1 <= value2) {
                        $(this).val(value1 + value2);
                    } else {
                        $(this).val("");
                    }
                }
            });

        });
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...