首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何增加html输入名称

如何增加html输入名称
EN

Stack Overflow用户
提问于 2016-08-24 10:40:10
回答 1查看 457关注 0票数 1

如何在html name="“中增加一个数组,该数组放在jQuery .after()中?

像这样的

代码语言:javascript
运行
复制
$(document).ready(function() {
    $('#add_products').click(function() {
      $('.products_tr:last').after('<tr class="products_tr"><td><input id="quantity" class="form-control" type="text" value="" name="invoice[products_attributes][1][quantity]"></td></tr>');
    });
  });

它应该向发票中添加额外的行,并且它可以工作,但是为了将它正确地保存到数据库中,name="invoice[products_attributes][1][quantity]内部的'1‘需要增加。它需要根据最后一个值进行增量。

该代码是由Rails动态创建的。

有人知道怎么做到这一点吗?我会很感激你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-24 10:43:43

获取总行(作为索引从0开始,因此不需要添加1),以便为新生成的行获得新的索引,并使用class="quantity"作为id必须是唯一的,

代码语言:javascript
运行
复制
$(document).ready(function() {
   $('#add_products').click(function() {
      l=$('.products_tr').length;// to get total
      $('.products_tr:last').after('<tr class="products_tr"><td><input '+
          ' class="quantity" class="form-control" type="text" value="" '+
          ' name="invoice[products_attributes]['+l+'][quantity]"></td></tr>');
   });
 });

正如@Pete所评论的,如果您有一个delete按钮,然后使用一个全局变量并添加它,

代码语言:javascript
运行
复制
$(document).ready(function() {
   var counter = $('.products_tr').length; // initially it is equal to length of all rows, let it start from 0
   $('#add_products').click(function() {
      $('.products_tr:last').after('<tr class="products_tr"><td><input '+
          ' class="quantity" class="form-control" type="text" value="" '+
          ' name="invoice[products_attributes]['+counter+'][quantity]"></td></tr>');
      counter++;
   });
 });
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39121030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档