1

这似乎相对简单,我只是对 jQuery 语法感到困惑。

基本上我想采取这种形式:

<div class="me_signup">
  <input type="text" name="referral[0][name]" id="referral_0_name">
  <br>
  <input type="text" name="referral[0][email]" id="referral_0_email">
</div>

并用按钮复制它并增加变量数..

$(".add_another_button").click(function(){
    ...
};
4

2 回答 2

7

这样的东西?

$(".add_another_button").click(function() {
    var $newdiv = $(".me_signup:last").clone(true);
    $newdiv.find('input').each(function() {
        var $this = $(this);
        $this.attr('id', $this.attr('id').replace(/_(\d+)_/, function($0, $1) {
            return '_' + (+$1 + 1) + '_';
        }));
        $this.attr('name', $this.attr('name').replace(/\[(\d+)\]/, function($0, $1) {
            return '[' + (+$1 + 1) + ']';
        }));
        $this.val('');
    });
    $newdiv.insertAfter('.me_signup:last');
});
于 2010-11-02T15:41:14.993 回答
0

您可以将所有的 html 放在一个变量中,并使用 .append() 方法将其添加到特定的 DOM 元素。而且,如果您克隆它,请务必将“id”更改为“class”,因为 id 在每个页面上必须是唯一的。 官方文档中有关 .append() 的更多信息

于 2010-11-02T15:44:53.857 回答