我有一段克隆三个字段的代码,但是当它克隆了三个字段时,它还克隆了在其中输入的文本,有没有办法在克隆时清除字段内的内容?< / p>
$(document).ready(function() {
$('#btnAdd').click(function() {
var num = $('.clonedSection').length;
var newNum = new Number(num + 1);
var newSection = $('#clonedSection' + num).clone().attr('id', 'clonedSection' + newNum);
newSection.children(':first').children(':first').attr('id', 'name' + newNum).attr('name', 'name' + newNum);
newSection.children(':nth-child(2)').children(':first').attr('id', 'age' + newNum).attr('name', 'age' + newNum);
newSection.children(':nth-child(3)').children(':first').attr('id', 'school' + newNum).attr('name', 'school' + newNum);
$('.clonedSection').last().append(newSection);
$('.clonedSection').last().val(ping);
$('#btnDel').attr('disabled','');
if (newNum == 2)
$('#btnAdd').attr('disabled','disabled');
});
$('#btnDel').click(function() {
var num = $('.clonedSection').length; // how many "duplicatable" input fields we currently have
$('#clonedSection' + num).remove(); // remove the last element
// enable the "add" button
$('#btnAdd').attr('disabled','');
// if only one element remains, disable the "remove" button
if (num-1 == 1)
$('#btnDel').attr('disabled','disabled');
});
$('#btnDel').attr('disabled','disabled');
});
提前Thanx!
答案 0 :(得分:1)
只需使用value
将.attr("value", "")
属性设置为空字符串(我假设您正在讨论<input type="text" />
):
newSection.children(':first').children(':first').attr('id', 'name' + newNum).attr('name', 'name' + newNum).attr('value', '');
答案 1 :(得分:1)
你正在做.clone()
,你可以找到/清除字段,如下所示:
.clone().find(':text, textarea').val('').end()
如果您没有<textarea>
元素,那么请忽略这一点,这样做的目的是执行.find()
获取文本元素,.val()
清除它们.end()
3}}之后使用coned元素返回链,而不是我们正在寻找的文本元素。
或者,或者,如果这些行是您的输入:
newSection.children(....)
只需在每个结尾添加一个.val('')
,例如第一个看起来像这样:
newSection.find('> :first > :first').attr({'id': 'name' + newNum, 'name': 'name' + newNum }).val('');
答案 2 :(得分:1)
您可以清除输入元素:
newSection.find(':input').val('');