以下代码用于重复div。但这是行不通的。请帮我。

<html>
  <head>
    <script>
      $(".repeat").live('click', function () {
        var $self = $(this);
        $self.after($self.parent().clone());
        $self.remove();
      });
  </script>
  </head>
  <body>
    <form>
      <div class="repeatable">
        <table border="1">
        <tr><td><input type="text" name="userInput[]"></td></tr></table>
        <button class="repeat">Add Another</button>
      </div>
    <input type="submit" value="Submit">
    </form>
  </body>
</html>

最佳答案

首先将jquery添加到code中,并使用on()代替live()

还要在$(function(){...})中编写您的代码,以便您的代码在document ready之后可以使用

<script src="http:/code.jquery.com/jquery-1.9.1.js"></script>
<script>
   $(function () {
       $(".repeat").on('click', function () {
          var $self = $(this);
          $self.after($self.parent().clone());
          $self.remove();
       });
   });
</script>


Working Demo

已更新,如果您希望它适用于more inputs,请尝试此操作,

$(function () {
    $(".repeat").on('click', function (e) {
        e.preventDefault();// to prevent form submit
        var $self = $(this);
        $self.before($self.prev('table').clone());// use prev() not parent()
        //$self.remove();// remove this line so you can add more inputs
    });
});


Updated Demo

关于javascript - 单击按钮时重复div,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21135520/

10-12 07:39