有人可以帮我解决这个问题:我有一个包含一行和多列的 Maintable ,在每个 td/column 内我有另一个带有 id 的内部表。我基本上想在最后一个 td 中克隆内部表。
<table id="innertable_0"
<tr>
<td class="policy_new_data ">
<div onclick="GetContent('familygender','0')" id="familygenderfirst_0">
</div>
<div id="familygendersecond_0">
<select name="familygenderselect_0" onchange="changedropdownvalue('familyrelationselectField_0',this);showSelectedValue('familygender','0')" id="familygenderselectField_0">
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</div>
</td>
</tr>
</table>
这就是我克隆并附加到 Maintable 的方式:
var $lasttdclone = $("#Maintable > tbody > tr:first > td:last").clone();
$lasttdclone.find('table').find('div').find('select').attr("id", function()
{
var parts = this.id.match(/(\D+)(\d+)$/);
return parts[1] + ++parts[2];
}).attr("name", function()
{
var parts = this.name.match(/(\D+)(\d+)$/);
return parts[1] + ++parts[2];
}).attr("onchange", function()
{
//what should be the logic to autoincremnt the numeric field by 1, in the onchange calling functions
});
($lasttdclone).appendTo("#Maintable > tbody > tr:first ") ;
我的问题是:我能够克隆表并能够将 id 和 name 增加 1,但是我应该如何增加 onchange 和 onclick 函数中的数字。例如,我希望克隆表具有 GetContent('familygender','1') 而不是 GetContent('familygender','0') changedropdownvalue('familyrelationselectField_1',this) 而不是 changedropdownvalue('familyrelationselectField_0',this)
我怎样才能做到这一点。我尝试了正则表达式,但未能达到期望的结果。请帮忙。谢谢你的时间。