Javascript 使用JQUERY在动态创建的表单中命名两个不同的输入
我正在编写一个程序,它需要将文本框和文本区域动态添加到表单中。我正在为此使用克隆功能。不幸的是,我似乎不知道如何使每个框具有唯一的ID。以下是我的Jquery:Javascript 使用JQUERY在动态创建的表单中命名两个不同的输入,javascript,jquery,html,forms,dynamic,Javascript,Jquery,Html,Forms,Dynamic,我正在编写一个程序,它需要将文本框和文本区域动态添加到表单中。我正在为此使用克隆功能。不幸的是,我似乎不知道如何使每个框具有唯一的ID。以下是我的Jquery: <script type="text/javascript"> $(document).ready(function() { $('#addButton').click(function() { var num = $('.clonedInput').length; var newNum = new Number(num
<script type="text/javascript">
$(document).ready(function() {
$('#addButton').click(function() {
var num = $('.clonedInput').length;
var newNum = new Number(num + 1);
var newElem = $('#form1').clone().attr('id', 'form' + newNum);
newElem.children(':first').attr('id', 'name' + newNum).attr('name', 'name');
$('#form' + num).after(newElem);
$(newElem).append(
$(document.createElement('input')).attr({
id: 'myCheckbox' + newNum
,name: 'myCheckbox' + newNum
,value: 'myValue'
,type: 'checkbox'
})
);
});
})
</script>
和我的HTML:
<form method="post" form action="save3.php">
<div name="forms" id="form1" class="clonedInput" width="800px">
<label></label><textarea rows="4" cols="50" id="text1" class="text" name="text[]" ></textarea>
<label></label><input type="text" id="title1" class="title" name="title[]">
</div>
</form>
提前感谢您的帮助您的代码错误:
您的问题似乎是您仅重命名了第一个子项的属性值,即正确获取id属性值名称的标签2:
newElem.children(':first').attr('id', 'name' + newNum).attr('name', 'name');
但我看不到任何代码以相同的方式处理textarea和input字段。有几种方法可以做到这一点,其中之一是:
$('#form' + newNum + ' textarea').attr('id','text' + newNum);
$('#form' + newNum + ' input[type="text"]').attr('id','title' + newNum);
请参见不确定这是否是复制/粘贴问题,但您丢失了};在脚本的末尾…还有无效的HTML,form action=???而且它似乎确实有效->这些都是复制和粘贴问题,对不起。我有更多的代码,但我的问题是,我需要文本框和文本区域ID的不同。如果你看JS提琴,它们都有text1的ID
$('#form' + newNum + ' textarea').attr('id','text' + newNum);
$('#form' + newNum + ' input[type="text"]').attr('id','title' + newNum);