我正在寻找用户界面中的功能:
但是,使用我的代码,我只能在第一个父行的最后一列的最后一个子行的 focusout 上添加新的子行和一个新的父行。新父行的最后一列的 Focusout 不会触发任何事件。始终,它是第一个父行的最后一列的最后一个子行,它在第一行和新的父行中添加了新的子行。
附上图片
以下是html部分
<table class="bordered2" style="width: 900px; margin-top: 5px;" align="center">
<thead>
<tr>
<th class="cntr">
From Date
</th>
<th class="cntr">
To Date
</th>
<th class="cntr">
From Hours
</th>
<th class="cntr">
To Hours
</th>
<th class="cntr">
MW
</th>
<th class="cntr">
MW-Hours
</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="schedule">
<td>
<input type="text" name="fromDate" class="fromDate" id="fromDate" />
</td>
<td>
<input type="text" name="toDate" class="toDate" id="toDate" />
</td>
<td>
<table class="from_hour" width="100%" cellspacing="0" cellpadding="0" bordercolor="#111111" border="0">
<tr class="from_hour_row">
<td>
<input type="text" name="fromHour" class="fromHour" id="fromHour" size="10" />
</td>
</tr>
</table>
</td>
<td>
<table class="to_hour" width="100%" cellspacing="0" cellpadding="0" bordercolor="#111111" border="0">
<tr class="to_hour_row">
<td>
<input type="text" name="toHour" class="toHour" id="toHour" size="10" />
</td>
</tr>
</table>
</td>
<td>
<table class="mw" width="100%" cellspacing="0" cellpadding="0" bordercolor="#111111" border="0">
<tr class="mw_row">
<td>
<input type="text" name="mw" class="mw" id="mw" value="0.00" size="10" />
</td>
</tr>
</table>
</td>
<td>
<table class="mw_hr" width="100%" cellspacing="0" cellpadding="0" bordercolor="#111111" border="0">
<tr class="mw_hr_row">
<td>
<input type="text" name="mwhrs" class="mwhrs" id="mwhrs" />
</td>
</tr>
</table>
</td>
</tr>
<tr class="sumtr" id="sumtr">
<td id="sumtd" colspan="5">
Total Mw-Hr :
</td>
<td name="totalmwhrs" class="totalmwhrs" id="totalmwhrs">
0
</td>
</tr>
</tbody>
</table>
以下是jquery部分
$('table.mw').on('focusout', 'tr.mw_row:last td input',function(){
$(this).parent().parent().parent().parent().parent().parent().find('table.from_hour tr.from_hour_row').last().after('<tr class="from_hour_row"><td><input type="text" name="fromHour" class="fromHour" id="fromHour" size="10"/></td></tr>');
$(this).parent().parent().parent().parent().parent().parent().find('table.to_hour tr.to_hour_row').last().after('<tr class="to_hour_row"><td><input type="text" name="toHour" class="toHour" id="toHour" size="10"/></td></tr>');
$(this).parent().parent().parent().parent().parent().parent().find('table.mw tr.mw_row').last().after('<tr class="mw_row"><td><input type="text" name="mw" class="mw" id="mw" value="0.00" size="10"/></td></tr>');
$(this).parent().parent().parent().parent().parent().parent().find('table.mw_hr tr.mw_hr_row').last().after('<tr class="mw_hr_row"><td><input type="text" name="mwhrs" class="mwhrs" id="mwhrs" value="0.00" size="10"/></td></tr>');
});
$('table.mw:last').on('focusout', 'tr.mw_row:last td input',function(){
$(this).parent().parent().parent().parent().parent().parent().parent().find('tr.schedule').last().after('<tr class="schedule"><td><input type="text" name="fromDate" class="fromDate"/></td><td><input type="text" name="toDate" class="toDate"/></td><td><table class="from_hour" width="100%" cellspacing="0" cellpadding="0" bordercolor="#111111" border="0"><tr class="from_hour_row"><td><input type="text" name="fromHour" class="fromHour" size="10"/></td></tr></table></td><td><table class="to_hour" width="100%" cellspacing="0" cellpadding="0" bordercolor="#111111" border="0"><tr class="to_hour_row"><td><input type="text" name="toHour" class="toHour" size="10" /></td></tr></table></td><td><table class="mw" width="100%" cellspacing="0" cellpadding="0" bordercolor="#111111" border="0"><tr class="mw_row"><td><input type="text" name="mw" class="mw" value="0.00" size="10"/></td></tr></table></td><td><table class="mw_hr" width="100%" cellspacing="0" cellpadding="0" bordercolor="#111111" border="0"><tr class="mw_hr_row"><td><input type="text" name="mwhrs" class="mwhrs" /></td></tr></table></td></tr>');
});
答案 0 :(得分:1)
JS代码用于您的目的:
$(document).on('focusout', 'tr.mw_row:last-child td input',function(){
$(this).closest("tr.schedule").find('table.from_hour tr.from_hour_row').last().after('<tr class="from_hour_row"><td><input type="text" name="fromHour" class="fromHour" id="fromHour" size="10"/></td></tr>');
$(this).closest("tr.schedule").find('table.to_hour tr.to_hour_row').last().after('<tr class="to_hour_row"><td><input type="text" name="toHour" class="toHour" id="toHour" size="10"/></td></tr>');
$(this).closest("tr.schedule").find('table.mw tr.mw_row').last().after('<tr class="mw_row"><td><input type="text" name="mw" class="mw" id="mw" value="0.00" size="10"/></td></tr>');
$(this).closest("tr.schedule").find('table.mw_hr tr.mw_hr_row').last().after('<tr class="mw_hr_row"><td><input type="text" name="mwhrs" class="mwhrs" id="mwhrs" value="0.00" size="10"/></td></tr>');
});
$(document).on('focusout', 'tr.mw_hr_row td:last-child input',function(){
$(this).closest("tbody.tbody").append('<tr class="schedule"><td><input type="text" name="fromDate" class="fromDate"/></td><td><input type="text" name="toDate" class="toDate"/></td><td><table class="from_hour" width="100%" cellspacing="0" cellpadding="0" bordercolor="#111111" border="0"><tr class="from_hour_row"><td><input type="text" name="fromHour" class="fromHour" size="10"/></td></tr></table></td><td><table class="to_hour" width="100%" cellspacing="0" cellpadding="0" bordercolor="#111111" border="0"><tr class="to_hour_row"><td><input type="text" name="toHour" class="toHour" size="10" /></td></tr></table></td><td><table class="mw" width="100%" cellspacing="0" cellpadding="0" bordercolor="#111111" border="0"><tr class="mw_row"><td><input type="text" name="mw" class="mw" value="0.00" size="10"/></td></tr></table></td><td><table class="mw_hr" width="100%" cellspacing="0" cellpadding="0" bordercolor="#111111" border="0"><tr class="mw_hr_row"><td><input type="text" name="mwhrs" class="mwhrs" /></td></tr></table></td></tr>');
});