hquery中的jquery递增数字=“”

时间:2011-07-06 03:03:11

标签: javascript jquery html

每次添加新的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/

4 个答案:

答案 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并递增它。