使用Datepicker插入HTML表行不起作用

时间:2014-05-26 13:12:25

标签: javascript datepicker

我使用Datepicker插件插入日期值。 我还使用一个允许用户在HTML表格中插入单元格的脚本。

当用户访问&#34; edit.php&#34;在页面中,他们有一个包含多个<input type="text">的表,其中包含从数据库中获取的信息。他们可以编辑它,或通过单击&#34;添加行&#34;来插入更多数据。按钮。

因此,如果用户希望表中的另一行向数据库中插入更多数据,则datepicker插件不会在新行上工作。

这是我的datepicker插件代码:

$(function() {
 $( ".datepicker" ).datepicker({ dateFormat: "dd-mm-yy" });
}); 

以下是允许我插入更多单元格行的代码:

function addRow()
{
//add a row to the rows collection and get a reference to the newly added row
var newRow = document.all("tabela1").insertRow(-1);

//add 3 cells (<td>) to the new row and set the innerHTML to contain text boxes

var oCell = newRow.insertCell();
oCell.innerHTML = "<tr><td><input type='text' name='ippdesc[]'></td>";

oCell = newRow.insertCell();
oCell.innerHTML = "<td><input type='text' name='ippemp[]'></td>";

oCell = newRow.insertCell();
oCell.innerHTML = "<td><input type='text' class='datepicker' name='ippdata[]' value='05-05-2005'></td>";
oCell = newRow.insertCell();
oCell.innerHTML = "<td><input type='checkbox' name='chk[]'></td></tr>";

document.getElementById("addr").onclick = doFunction;
}

谢谢!

1 个答案:

答案 0 :(得分:2)

它可能不起作用,因为您在调用jQuery函数之后为datepicker创建HTML代码。通常,datepicker函数通过在加载页面时浏览HTML代码并将函数链接到所有拟合元素(即具有类“datepicker”的输入项)来工作;它将忽略在调用函数后创建的HTML项目。

所以你必须在加载新行后再次调用datepicker-function;我首先取消绑定datepicker函数以避免同一元素上的多个日期选择器,然后再次绑定它们(希望有意义......)像这样:

oCell.innerHTML = "<td><input type='text' class='datepicker' name='ippdata[]' value='05-05-2005'></td>";
oCell = newRow.insertCell();
$( ".datepicker" ).datepicker( "destroy" );
$( ".datepicker" ).datepicker({ dateFormat: "dd-mm-yy" });