php - 如何动态添加文本框?

标签 php javascript clone

帮忙看看这个标准?

用户可以添加任意数量的名称,“添加名称”链接就是用于此目的。

我该如何处理这个规范? 请检查以下规范:

alt text

谢谢。

最佳答案

var input = $('#input').clone().attr('name', 'name2').attr('id', 'input-2').appendTo('body')

您可以进一步使用 $(el).clone() 克隆整个 row/div,然后执行 .find('input') 并修改name 和 id 属性值,因此它们是唯一的并且不会冲突。如果您想复制事件处理程序,可以传递 true 来克隆。

不完整的非 jQuery“解决方案”,因为我不知道 OP 到底在哪一点,因为他声称他现在可以克隆节点..

  <div id="wrap">
    <div class="foo">
      <label for="first_name">name:</label><input type="text" name="first_name[]  " id="first_name"><a href="#">delete</a>
    </div>
    <a href="#" id="add">add name</a>
  </div>
  <script>
  (function() {
    var add = document.getElementById('add'), counter = 0;
    add.onclick = function() {
      var rows = document.getElementsByTagName('div'), last = false;
      if ( rows.length ) {
        for ( var i = rows.length; i--; ) {
            if ( last ) { break; }
            if ( rows[i].className.length && ( ' ' + rows[i].className + ' ' ).indexOf(' foo ') != -1 ) {
              last = rows[i];
            }
        }
      }
      if ( last ) {
        var newNode = last.cloneNode(true), wrap = document.getElementById('wrap'), input = newNode.getElementsByTagName('input');
        input.id = input.id + (counter++);
        wrap.appendChild( newNode );
      }
    }
  })();

关于php - 如何动态添加文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1592722/

相关文章:

PhpStorm 数组缩进 8 个空格而不是 4 个

php - yii 如何显示带有验证失败消息的自定义错误消息

php - 通过 wget/curl 进行长时间的 cron 作业?

javascript - 如何在三元运算符内赋值

javascript - 使用 JS 选择外部 CSS 文件

php - Eclipse PDT 和 .yml 文件无法打开?

javascript - Ant Design : How to prevent expansion when clicked on the Collapse header, 但允许使用按钮?

javascript - Ember.js 中的 jQuery $.extend() 等价物是什么?

java - java clone() 是如何真正使用浅拷贝的?

mysql - 复制表中的所有行并防止重复键