Javascript / JQuery文本框值计算

时间:2015-04-20 01:19:56

标签: javascript c# jquery textbox

我试图用这些文本框进行简单的计算。
这是我目前的代码:

   @foreach (var discount in Model.Discounts)
            {
                <div class="editor-label">
                    <label for="@discount.Key.DiscountCode">@discount.Key.DiscountName</label>
                </div>
                <div class="editor-field">
                    <input class="discountCode" name="discountCode" readonly="true" type="text" />
                    <a class="remove" data-key="discountCode" href="javascript:void(0);">Remove</a>
                    <a class="edit" data-key="discountCode" href="javascript:void(0);">Edit</a>
                </div> <br />
            }

<div class="totaldiscounts">
Total: <input id="total" type="text" />
</div>

    <script>
    $('.edit').on('click', function () {
        var parent = $(this).parent();
        var input = parent.find('input');

        if (input.attr('readonly') === 'readonly') {
            $(this).text('Stop Edit');
        }
        else {
            $(this).text('Edit');
        }
        input.attr('readonly', !input.attr('readonly'));


    });

    $('.remove').on('click', function () {
        var parent = $(this).parent();
        var input = parent.find('input');
        input[0].value = 0;
        $(input).first().blur();

        var parent = $(this).closest("div");
        var uncle = parent.prev();
        parent.remove();
        uncle.remove();
    });


    $('.discountCode').on('blur', function () {

        var inputs = $(".discountCode");

        var val = 0;
        for (var i = 0; i < inputs.length; i++) {
            if (!isNaN(inputs[i].value)) {
                val += +inputs[i].value; 
            }
        }

        $('#total').val(val);
    });
    </script>

此代码有效,直到我必须将每个文本框的类名更改为其实际的唯一折扣代码,如下所示:

<input class="@Model.discount.discountCode" name="@Model.discount.discountCode" readonly="true" type="text" />

显然,我的javascript不再有效,因为每个文本框的类名现在彼此不同。
如何使用此设置使我的JavaScript工作 任何帮助将不胜感激。谢谢!!

1 个答案:

答案 0 :(得分:0)

将附加的类名放入元素(示例)中。

class="unique_class_name shared_class_name"

毕竟,循环到每个类(shared_class_name),以获取如下代码的值:

$('.shared_class_name').on('blur', function ()....