入力を使用して新しい行を動的に作成できるフォームがあります。新しい各行の日付入力には、日付ピッカーが必要です。これはほとんど機能していますが、入力を含む新しい行が作成されると、すでに存在する日付フィールドで日付ピッカーが機能しなくなります。何が間違っているのかを見つけるために一日中プレイしましたが、これを修正する方法がわかりません。
ここにフィドルがあります-> http://jsfiddle.net/HermesTrismegistus/vdFaH
私のフォームは次のようになります。
<table id="productTable" class="table table-striped table-condensed">
<thead>
<tr>
<th>Product</th>
<th>Datum</th>
<th>Tijd</th>
<th>Minuten</th>
</tr>
</thead>
<tbody>
<tr>
<td><input id="products" class="input-medium" name="products[]" type="text" /></td>
<td><input id="date" class="datepick input-mini" name="date[]" type="text" /></td>
<td><input id="time" class="input-mini" name="time[]" type="text" /></td>
<td><input id="minutes" class="input-mini" name="minutes[]" type="text" /></td>
<td><a id="addnew" href=""><i class="icon-plus"></i></a></td>
</tr>
</tbody>
</table>
私が持っているjqueryは、次のようになります。
$(function(){
// start a counter for new row IDs
// by setting it to the number
// of existing rows
$('.datepick').datepicker();
var newRowNum = 0;
// bind a click event to the "Add" link
$('#addnew').click(function(){
// increment the counter
newRowNum = $(productTable).children('tbody').children('tr').length +1;
// get the entire "Add" row --
// "this" refers to the clicked element
// and "parent" moves the selection up
// to the parent node in the DOM
var addRow = $(this).parent().parent();
// copy the entire row from the DOM
// with "clone"
var newRow = addRow.clone();
// set the values of the inputs
// in the "Add" row to empty strings
$('input', addRow).val('');
// insert a remove link in the last cell
$('td:last-child', newRow).html('<a href="" class="remove"><i class="icon-minus"><\/i><\/a>');
// insert the new row into the table
// "before" the Add row
addRow.before(newRow);
// add the remove function to the new row
$('a.remove', newRow).click(function(){
$(this).closest('tr').remove();
return false;
});
$('#date', newRow).each(function(i){
var newID = 'date_' + i;
$(this).attr('id',newID);
});
// prevent the default click
return false;
});