我试图用这些文本框进行简单的计算。
这是我目前的代码:
@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工作
任何帮助将不胜感激。谢谢!!
答案 0 :(得分:0)
将附加的类名放入元素(示例)中。
class="unique_class_name shared_class_name"
毕竟,循环到每个类(shared_class_name),以获取如下代码的值:
$('.shared_class_name').on('blur', function ()....