javascript - jquery val() 只取第一行的值

标签 javascript jquery html

我这里有一种情况,我有一个表单,其中有一些相似的行,当我提交表单时,我希望显示初始的数量值,它返回 的初始值只有第一行,我知道它会这样做,但不确定解决方案

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

最佳答案

试试这个:-

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

由于您想要单击行的值,请使用以下代码:-

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

Demo

Demo 1

关于javascript - jquery val() 只取第一行的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32175230/

相关文章:

javascript - 根据另一个键数组对对象数组进行排序

javascript - JQuery,如何找到具有相似ID的div的条件列表

javascript - 将滚动条 div 同步到非滚动 div

javascript - 如何在使用 Jquery 脚本时从 url 获取值?

javascript - 无法获取数据集数值

javascript - Ajax 请求文本在 DOM 中闪烁

javascript - SimpleSchema 错误 : After filtering out keys not in the schema, 您的修饰符现在为空

javascript - 添加mailchimp订阅者错误: name. toUpperCase is not a function

javascript - 使用 javascript 获取变化的 url

javascript - 重复单击时单击事件中的 jQuery scrollTop 无法正常工作