我已经为客户提供了一份订单,您可以查看here。
如您所见,它会创建一个包含5个输入字段的新行(每行)。这是我的问题,我将此表单以html格式输出到客户电子邮件供办公室使用。我需要为新创建的行中的每个输入添加一个“唯一名称”,以便将其传递给处理和发送到电子邮件。
Here is the JS file for adding rows
我知道这必须由$ addRowBtn触发,但我现在已经有一段时间了,我尝试过的所有内容都打破了表格。
我试过这个例子,但无济于事:
thisRow.find("input.ClassName").attr("name","newName" + num);
num++;
我会买第一个帮助这杯咖啡的人!它正在惹恼我的生活垃圾!!
答案 0 :(得分:0)
在你的javascript中你设置thisRow如下
thisRow = $(this).parents("tr");
但它应该是
thisRow = $(this).parents("tr").eq(0);
然后你可以做
thisRow.find("input").each(function(i) {
$(this).attr("name", "newName" + i);
});
同时检查这返回警报的内容(thisRow.find(“input”)。length);它应返回5,因为行中有5个输入元素。 我希望它有效。
答案 1 :(得分:0)
看看这个,我可以看到这是附加到“删除行”功能。不应该在“添加行”功能上触发。我会给它旋转,看看会发生什么。
此外,因为每一行都有一个唯一的标识符(orderType,sample,pattern等),所以当创建一个新行时,每个输入都会递增,我可以为每个输入分配一个如下的起始值:
input class="order_type" name="orderType[i]" type="text"
我不能只为五个输入中的每个输入设置一个数组并循环直到它达到“最大行数”为6?
我只是不知道如何将值“i”推到每行新创建的输入上。