【发布时间】:2014-01-13 19:52:10
【问题描述】:
我有一个表格,我正在动态添加行,每一行都有 2 个单元格,其中一个将包含一个输入字段,我计划在其中使用 DatePicker UI 来选择一个日期。当我添加新行时出现问题,单元格和所有内容都添加得很好,但是当我单击输入字段时不知何故不显示 DatePicker。阅读周围我了解到我应该使用“事件委托”,因为新元素从一开始就没有加载。但是对于我的一生,我一直无法理解如何去做,如果有人能指出我正确的方向,那就太好了。谢谢
到目前为止我得到的代码:
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery- ui.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
$(document).ready(function() {
$( ".datepicker" ).datepicker();
$( "#TheTable" ).on("change",".datepicker",function(){
$( this ).datepicker( "option", "dateFormat", "yy-mm-dd" );
});
});
function addRow() {
var table = document.getElementById("TheTable");
var row = table.insertRow(-1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
cell1.innerHTML='Date';
cell2.innerHTML='<input type="text" class="datepicker"/>';
}
</script>
</head>
<body>
<table name="MyTable" id="TheTable">
<tr>
<td>Date</td>
<td><input type="text" class="datepicker" /></td>
</tr>
<tr>
<td>Date</td>
<td><input type="text" class="datepicker" /></td>
</tr>
</table>
<input type="button" onClick="return addRow()" value ="Add Another Date">
</body>
</html>
【问题讨论】:
标签: javascript jquery event-delegation