【发布时间】:2012-10-09 07:03:16
【问题描述】:
我需要在克隆的字段集中克隆一个字段集。
所以我的常规结构是这样的
当我点击 add new agenda field 时,它会成功克隆更大的字段,例如
但是当我点击add new file 时,它只会将新字段添加到父字段而不是当前字段
我的代码是这样的
<div id="agenda_placeholder">
<div id="agenda_template">
<fieldset>
<legend>Agenda Details</legend>
<ol>
<li>
<label for=topic_name>Topic Name</label>
<input id=topic_name name=topic_name type=text placeholder="ACAT Briefing" required autofocus>
</li>
<li>
<label for=topic_time>Time</label>
<input id=topic_time name=topic_time type=text placeholder="2.00 - 2.30 ">
</li>
<li>
<label for=presenter>Presenter</label>
<input id=presenter name=presenter type=text placeholder="Name LastName">
</li>
<li>
<div id="file_placeholder">
<div id="file_template">
<fieldset>
<legend>File Details</legend>
<ol>
<li>
<label for=file_description>File Description</label>
<input id=file_description name=file_description type=file_description placeholder="Ex. Weather Stats">
</li>
<li>
<label for=file_name>File Name</label>
<input id=file_name name=file_name type=file_name placeholder="Exact file name Eg:weather.docx">
</li>
</ol>
</div> <!-- file_template -->
</div> <!-- file_placeholder -->
<button type="button" name="AddNewFile" onclick="Add();">Add New File</button>
</fieldset>
</li>
</ol>
</div> <!-- agenda_template -->
</div> <!-- agenda_placeholder -->
<button type="button" name="AddNewAgenda" onclick="Add_Agenda();">Add New Agenda Field</button>
</fieldset>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
var _counter = 0;
function Add() {
_counter++;
var oClone = document.getElementById("file_template").cloneNode(true);
oClone.id += (_counter + "");
document.getElementById("file_placeholder").appendChild(oClone);
}
function Add_Agenda() {
_counter++;
var oClone = document.getElementById("agenda_template").cloneNode(true);
oClone.id += (_counter + "");
document.getElementById("agenda_placeholder").appendChild(oClone);
}
那么如何在克隆的字段集中克隆一个字段集?
【问题讨论】:
-
老哥,我们听说你喜欢克隆,但似乎有什么问题?
-
我猜是因为
div标签,当我单击添加文件时,它会将文件字段添加到仅父字段集查看最后一张图片 -
嗯,对于初学者来说,html 似乎是无效的。查看红色标签:jsfiddle.net/BQDRJ
-
您正在克隆具有
ids 的元素。这将导致您的页面上出现重复的ids,这是无效的。ids 在页面上应该始终是唯一的,因为它们唯一标识了一个元素。