2015-04-20 5 views
0

Я пытался сделать простое вычисление из этих текстовых полей.
Это мой код до сих пор:Javascript/JQuery значения значений в текстовом поле

@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

@NorlihazmeyGhazali Привет, извините, что я новичок в развитии, из того, что, как я понимаю, вы говорите мне, чтобы я поставил 2 имени класса в один элемент, правильно это или нет, вы не можете уточнить. Спасибо огромное! –

+0

Да, введите другое имя класса с тем же именем класса. ты можешь? –

ответ

0

Поместите дополнительное имя класса в элемент (пример).

class="unique_class_name shared_class_name" 

В конце концов, петля для каждого класса (shared_class_name), чтобы получить значение, как следующий код:

$('.shared_class_name').on('blur', function().... 
Смежные вопросы