2015-08-24 4 views
0

У меня есть ситуация здесь, где у меня есть форма, в которой у меня есть несколько похожих строк, и когда я отправляю форму, я хочу, чтобы отображаемое количество отображалось, которое было начальным , она возвращается в начальное значение только первый ряд, я знаю, что будет делать это, но не уверен, что решенияjquery val() только принимая значение первой строки

HTML код:

<form class="editcart" method="post" action=""> 

     <input type="text" class="pid" name="pid" value="${product.pid}" hidden/> 
      <input type="text" class="spid" name="spid" value="${product.sub_pid}" hidden/> 
      <input type="text" class="cartid" name="cartid" value="${product.cart_id}" hidden/> 
      <input type="text" class="quantity" name="quantity" value="20" readonly="readOnly"/> 
      <input type="button" value="Edit" class="enable"/> 
      <input type="submit" value="Save" class="save" hidden/> 

     <input type="text" class="pid" name="pid" value="${product.pid}" hidden/> 
      <input type="text" class="spid" name="spid" value="${product.sub_pid}" hidden/> 
      <input type="text" class="cartid" name="cartid" value="${product.cart_id}" hidden/> 
      <input type="text" class="quantity" name="quantity" value="5" readonly="readOnly"/> 
      <input type="button" value="Edit" class="enable"/> 
      <input type="submit" value="Save" class="save" hidden/> 

     <input type="text" class="pid" name="pid" value="${product.pid}" hidden/> 
      <input type="text" class="spid" name="spid" value="${product.sub_pid}" hidden/> 
      <input type="text" class="cartid" name="cartid" value="${product.cart_id}" hidden/> 
      <input type="text" class="quantity" name="quantity" value="4" readonly="readOnly"/> 
      <input type="button" value="Edit" class="enable"/> 
      <input type="submit" value="Save" class="save" hidden/> 
    </form> 

и код JQuery является:

$(document).ready(function(){ 

    var init = $('.quantity',this).val(); 

    $('.enable').click(function(){   
    $(this).prev('.quantity').prop('readOnly',false); 
    $(this).hide(); 
    $(this).next('.save').fadeIn(); 
    }); 

    $('.editcart').submit(function() { 

      var quant = $('.quantity',this).val(); 
      var pid = $('.pid',this).val(); 
      var spid = $('.spid',this).val(); 
      var cartid = $('.cartid',this).val(); 

    alert("the init value is : "+init); 
     return false; 

     }); 

}); 

fiddle

+0

это потому, что когда ты попробуйте представить, что вы выбираете все три кнопки ** save **, так что –

ответ

2

попробовать это: -

var init =0; 
$('.quantity',this).each(function(){ 
    init+=parseInt($(this).val());  
}); 

Так как вы хотите значение щелкнули строки, используйте этот код: -

$('.save').click(function(){ 
    init=$(this).prev().prev('.quantity').val(); 
}); 

Demo

Demo 1

+0

либо принимает кумулятивное значение, либо только последнее значение, если я удаляю добавление, я хочу только значение конкретной строки, которую я нажимаю –

+2

@amolsingh https://jsfiddle.net/rdb43e8w/3/ –

+0

вы мужчина .. это работает как шарм –

Смежные вопросы