这是我目前正在尝试实现的目标:
我正在尝试克隆表单并更改输入名称。我将如何实现这一目标。
JS:
$(document).ready(function() { var counter = 0; var MAX_FIELDS = 3; var MIN_FIELDS = 1; var form = $('.force-group'); $('#add').on('click', function(e) { if (counter < MAX_FIELDS) { //$(".form-group").clone().appendTo("#forceForm"); $.each(form, function(i) { var clone = $('.force-group').first().clone(); clone.children().val(""); $(this).parent().append(clone); if (counter == 0) { $("b:eq(1)").html(" Force 2"); }; if (counter == 1) { $("b:eq(3)").html(" Force 3"); }; if (counter == 2) { $("b:eq(5)").html(" Force 4"); }; }); counter++; }; });
的HTML:
<#import "template.ftl" as layout /> <@layout.template title="Force" js="/js/force.js" css="/css/force.css">Total Force
Total Force Net Force: Direction:
这是jsfiddle链接:
单击此处获取链接。
PS:我正在使用模板程序,因此jsfiddle看起来有点不好。
我是jQuery的新手,我一直在寻找解决方案,但是我似乎对此感到困惑。
我尝试将.last()与attr编辑一起使用,但这似乎无济于事。
要更改输入名称,只需使用attr()方法
$('input').attr('name', 'yourNewname');
并且我建议您输入的内容不带ID,因此您应该使用以下方法之一:
1 /例如,给每个输入一个ID #input1
#input2
$('#input1').attr('name', 'yourNewname1'); // change the name of first input $('#input2').attr('name', 'yourNewname2'); // change the name of first input
要么
您可以使用eq()
$('input').eq(0).attr('name', 'yourNewname1'); // change the name of first input $('input').eq(1).attr('name', 'yourNewname2'); // change the name of first input