我想克隆一个包含文本框和单选按钮的表(不是表Row)。
更具体地说,我想克隆没有文本框值的整个表,但是使用单选按钮值。
此处,克隆时会删除文本框和单选按钮值。我怎样才能获得所需的行为?
这是我的代码:
<div>
<table id="tablePreviousHistory">
<tbody>
<tr>
<td>
<input id="pCountry" name="pCountry" value="" type="text">
</td>
<td>
<input id="pvisatype" name="pvisatype" value="" type="text">
</td>
<td>
<input id="pstartdate" name="pstartdate" value="" type="text">
</td>
<td>
<input id="pStatus" name="pStatus" value="Yes" type="radio">
Yes<br>
<input id="pStatus" name="pStatus" value="No" type="radio">
No
</td>
</tr>
</tbody>
</table>
</div>
&#13;
使用Javascript:
<script>
$("#tablePreviousHistory").clone(true).attr('id', 'tablePreviousHistory' + k).find("input").val('').each(function () {
if (this.type=='radio') {
this.checked = false;
}
$(this).attr({
'id': function (_, id) { return id + k },
'name': function (_, name) { return name + k }
});
}).end().insertAfter("#tablePreviousHistory" + (k != 1 ? (k - 1).toString() : ''));
</script>
&#13;
答案 0 :(得分:0)
这是因为克隆时通过以下方式取消选中,
if (this.type=='radio') {
this.checked = false;
}
答案 1 :(得分:0)
使用val('')
$("#tablePreviousHistory").clone(true).attr('id', 'tablePreviousHistory' + k).find("input").val('').each(function () {
如果您将此行替换为下面这一行,则它们将不再清除。
$("#tablePreviousHistory").clone(true).attr('id', 'tablePreviousHistory' + k).find("input").each(function () {