帮忙看看这个标准?
用户可以添加任意数量的名称,“添加名称”链接就是用于此目的。
我该如何处理这个规范? 请检查以下规范:
谢谢。
最佳答案
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/