gpt4 book ai didi

javascript - 添加新行,将日期选择器绑定(bind)到列以奇怪的方式工作

转载 作者:行者123 更新时间:2023-11-28 02:09:45 25 4
gpt4 key购买 nike

我正在尝试在单击按钮时添加新行。在我的新行中有一个文本框,我想绑定(bind)日期选择器但无法绑定(bind)。请帮我解决这个问题。

<table>
<tr>
<td><button type="button" onClick ="addRow(this)">Add</button></td>
</tr>
<tr>
<td><input type="text" name="installDate" value="" class ="date"/> </td>
</tr>
</table>

JavaScript

$(document).on('click', function() {
$('.date').each(function() {
$(this).datepicker();
});
});

function addRow(btn) {
var parentRow = btn.parentNode.parentNode;
var table = parentRow.parentNode;
var rowCount = table.rows.length;
var lastRow = table.rows[rowCount - 1];
var rowClone = lastRow.cloneNode(true);
table.appendChild(rowClone);
$('.date', rowClone).datepicker(); // Code to fix the problem
}

Seq1:添加行=>单击newRow的文本框,弹出日历,一切正常。

序列2:1. 单击文档,然后尝试原始行的文本框,然后弹出日历。2. 添加新行。3.现在单击新行的文本框,日历不会弹出来选择日期。

附上 JSFiddle 以供引用 http://jsfiddle.net/wAyhm/9/

最佳答案

这就是您要找的:

How to clone elements that have been bound by a jQuery UI Widget?

工作 fiddle :

http://jsfiddle.net/Meligy/DKtA6/6/

window. addRow = function addRow(btn) {         
var parentRow = btn.parentNode.parentNode;
var table = parentRow.parentNode;
var rowCount = table.rows.length;
var lastRow = table.rows[rowCount - 1];
var lastDatePicker = $('.date', lastRow);
var rowClone = $(lastRow).clone(true);
var datePickerClone = $('.date', rowClone);
var datePickerCloneId = 'test-id' + rowCount;
datePickerClone.data( "datepicker",
$.extend( true, {}, lastDatePicker.data("datepicker") )
).attr('id', datePickerCloneId);
datePickerClone.data('datepicker').input = datePickerClone;
datePickerClone.data('datepicker').id = datePickerCloneId;
$(table).append(rowClone);
datePickerClone.datepicker();
}

关于javascript - 添加新行,将日期选择器绑定(bind)到列以奇怪的方式工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17286100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com