<< 展开本帖的问题>>
我想要做的还将日期选择器的 jQuery 函数动态添加到表中。我有这张桌子:
<table id="tblDetail">
<tr>
<td><input type="text" class="datepicker" name="a[]"></td>
</tr>
</table>
<button id="addinput">Add row</button>
<input type="button" id="removeRow" value="Delete row" onclick="removeRowFromTable();"/>
为了在 javascript 上选择日期,我使用了:
$(function() {
$('#addinput').click(function() {
$('#tblDetail tbody>tr:last').clone(true).insertAfter('#tblDetail tbody>tr:last');
});
$('.datepicker').live("click", function() {
$(this).datepicker({
changeMonth: true,
changeYear: true,
gotoCurrent: true,
dateFormat: 'yy-mm-dd',
yearRange: '1980:c',
defaultDate: '-10y'
}).datepicker('show');
});
});
function removeRowFromTable() {
var tbl = document.getElementById('tblDetail');
var lastRow = tbl.rows.length;
if (lastRow > 2) tbl.deleteRow(lastRow - 1);
}
它可以工作,但是当我添加行时,日期选择器仍然显示但总是将值返回到第一行文本框。怎么做?
更新
请检查这个小提琴。
我发现代码解决了问题(您将不得不省略日期选择器文本框中的ID 元素),但它仅在您首先添加行而不选择任何日期选择器时才有效。但是当您停止添加行并开始使用日期选择器(使用日期选择器填充先前添加的整个文本框)时,当您再次添加行时,日期选择器将不适用于新添加的行。