每次添加新的inputname
时,我希望变量<input />
增加1
e.g。
<input name="1" />
<input name="2" />
<input name="3" />
--- --- HTML
<p class="add">Add</p>
<div class="added"></div>
---的jQuery / JavaScript的---
$(document).ready(function() {
$("p.add").click(function() {
var inputname = somevar;
var added = "<input type=\"text\" name=\""+inputname+"\" />";
$("div.added").append(added);
});
});
这里是jsfiddle.net,如果它有帮助 - &gt; http://jsfiddle.net/gamepreneur/54kzw/
答案 0 :(得分:3)
像这样设置inputname
:
var inputname = $('.added input').length + 1;
这会将添加的输入和增量的总数加1,从而产生新名称。
答案 1 :(得分:0)
您需要在全局范围内声明inputname
,以使其持续时间长于单击函数的持续时间,然后每次使用时都需要递增它。
我修改了你的小提琴:http://jsfiddle.net/jfriend00/54kzw/2/
var inputname = 1;
$(document).ready(function() {
$("p.add").click(function() {
var added = "<input type='text' name='" + inputname++ + "' />";
$("div.added").append(added);
});
});
答案 2 :(得分:0)
尝试
$(document).ready(function() {
$("p.add").click(function() {
var inputname = $('input', $("div.added")).length + 1;
var added = "<input type=\"text\" name=\"" + inputname + "\" />";
$("div.added").append(added);
});
});
考虑添加一些其他选择器来选择那些输入(如类选择器)
答案 3 :(得分:0)
更改变量 范围
使用此:
// declare your variable here so it exists throughout every call, instead of being
// delcared new with every call.
var inputname = somevar;
$(document).ready(function() {
$("p.add").click(function() {
var added = "<input type=\"text\" name=\""+(inputname++)+"\" />";
$("div.added").append(added);
});
});
备选方案:
$('div.added input').length
)并将其用于计数器。$('div.added input:last').prop('name')
)的ID并递增它。