0

我有这个 html,当有人单击按钮时,我将其注入到页面中。每次使用下面的 js 单击按钮时,都会再次附加 html。

<div style="display: none;">
    <div class="grab-me">
    <p>This is fieldset 1</p>
      <input name="foo[]" />
      <input name="bar[]" />
      <input name="oth[]" />
    </div>
 </div>

var count = 1;
  $(function(){
    $('.add-member').live("click", function(e){
        e.preventDefault(e);
        count += 1;
        var grab = $('.grab-me')
                .clone()
                .removeClass('grab-me')
                .appendTo('#register');

    });
 });

但我需要做的是它说“这是字段集 1”我需要每次将该数字增加 1,以便后续附加说这是字段集 2,这是字段集 3 等等。我看不出我怎么能当它被克隆时将一个变量(我的计数变量)传递给 html 块,它将替换该数字。

这是它的一个jsfiddle:http: //jsfiddle.net/tzbgA/

任何帮助都会很棒!谢谢!!

4

4 回答 4

1

你可以给出你想改变类的句子。然后使用 jQuery 选择器更改其中的文本。

<body>
  <button class="add-member">add more</button>
  <div style="display: none;">
    <div class="grab-me">
    <p class="count">This is fieldset 1</p>
      <input name="foo[]" />
      <input name="bar[]" />
      <input name="oth[]" />
    </div>
 </div>
  <div id="register">
  </div>
</body>

var count = 1;
$(function(){
    $('.add-member').on("click", function(e){
        e.preventDefault(e);        
        var grab = $('.grab-me')
                .clone()
                .removeClass('grab-me')
                .appendTo('#register')
        .find('p.count').html('This is fieldset '+count);
      count += 1;
    });
 });
于 2013-03-11T14:02:03.693 回答
0

添加跨度:

 <p>This is fieldset <span>1</span></p> 


   var count = 1;
      $(function(){
        $('.add-member').on("click", function(e){
            e.preventDefault(e);
            count += 1;
            var grab = $('.grab-me')
                    .clone()
                    .removeClass('grab-me')
                    .appendTo('#register');
            $('.span').html('count');

        });
     });
于 2013-03-11T13:55:29.113 回答
0
var count = 1;
$(function(){
    $('.add-member').live("click", function(e){
        e.preventDefault(e);
        count += 1;
        var grab = $('.grab-me').clone();
        $(grab p).html('This is fieldset '+count).appendTo('#register');
    });
});
于 2013-03-11T14:18:15.067 回答
0

小提琴:http: //jsfiddle.net/howderek/tzbgA/2/

这是一个使用 8 行代码的版本:

代码(Javascript)

var count = 1,
    html = ' <p>This is fieldset #</p><input name="foo[]"/> <input name = "bar[]"/> <input name = "oth[]"/>';
$(function () {
    $('.add-member').live("click", function (e) {
        e.preventDefault(e);
        document.getElementById("register").innerHTML += html.replace("#",++count);
    });
});
于 2013-03-11T14:24:22.873 回答