【发布时间】:2009-10-23 20:25:36
【问题描述】:
我从这个标记开始:
<div>
<span>
<label for="Item[0]">Item #1</label>
<input type="text" value="" name="Item" id="Item[0]"/>
</span>
</div>
在每次单击按钮时,我都想添加与上面完全相同的部分,但索引会增加。
<div>
<span>
<label for="Item[0]">Item #1</label>
<input type="text" value="" name="Item" id="Item[0]"/>
</span>
</div>
<div>
<span>
<label for="Item[1]">Item #2</label>
<input type="text" value="" name="Item" id="Item[1]"/>
</span>
</div>
我正在尝试使用这个 javascript:
$(document).ready(function(){
var count = <%= Items.Count - 1 %>;
$('#AddItem').click(function(e) {
e.preventDefault();
count++;
var tb = $('#Item[0]').clone().attr('id', 'Item[' + count + ']');
var label = document.createElement('label')
label.setAttribute('For', 'Item[' + count + ']')
$('#ItemFields').append(label);
$('#ItemFields').append(tb);
});
});
所以有几个问题:
添加标签有效,但我克隆的文本框无效。
标签没有文字。我似乎找不到那个属性。谁能告诉我这是什么?
我不知道如何将标签和文本框包装在一个 div 和 span 中。如果我尝试
$('#ItemFields').append('<div><span>' + label + tb + '</span></div>');
它输出 [object HTMLLabelElement] 而不是实际的标签。如果我尝试将它们拆分为多个附加语句,它会自行终止 div 和 span。我是 jQuery/Javascript 的新手,所以我不太确定自己做错了什么。
【问题讨论】:
标签: javascript jquery