我有一个' users page
'。我想给textbox
输入一个号码。用户点击submit
' n
'不需要向用户呈现用户表单。
User1
first name -
last name -
User2
first name -
last name -
.
.
.
UserN
first name -
last name -
我不知道' N
'的价值。前期。因此,编写多个div'是一个好主意。在我的HTML中。
要求:我希望拥有一个用户模板div。并复制模板' n
'时间取决于' n
'的值在textbox
。但我也想要所有的divs
'有'user1', 'user2'
等不同的ID。
除了用太多的' divs
'填充我的HTML之外,我无法找到一种方法。需要帮助获得指定的要求。
寻找类似的模板: -
<div id="user-template" class="hidden">
<label class="lbl"><b>Handle:</b></label><input type="text" id="first_name" value=""/>
</div>
想要id =&#34; user-template
&#34;改变所有新的div。
答案 0 :(得分:1)
一种简单的方法是编写一个获取n值的函数,并返回可以附加到页面上某个父元素的实际dom。下面是一个简单的例子:
function createNDivs(n) {
if(!n) return;
var fragment =document.createDocumentFragment();
for(var i=0;i<n;i++) {
var div = document.createElement('div');
fragment.appendChild(div);
}
return fragment;
}
答案 1 :(得分:1)
您可以尝试使用this:
您可以创建一个模板,并将其附加到DOM中,以输入在输入字段中输入的数字。
$(document).ready(function() {
$("#createForms").click(function() {
var numOfForms = $("#numOfForms").val();
var template = $('#hidden-template').html();
for (var i = 0; i < numOfForms; i++) {
$('#targetDiv').append("<p>User" + (i + 1) + ":</p>");
$('#targetDiv').append(template);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="numOfForms"></input>
<input type="button" id="createForms" value="Get Fields"></input>
<div id="targetDiv"></div>
<script id="hidden-template" type="text/x-custom-template">
<div id="user-template" class="hidden">
<p>First Name:
<input type="text" name="firstName"></input>
</p>
<p>Last Name:
<input type="text" name="lastName"></input>
</p>
<br>
</div>
</script>