在动态生成的表行中创建Jquery datepicker

时间:2014-10-16 22:25:07

标签: jquery datepicker

function AddDatepicker() {                 
    $('#Ecd').datetimepicker();    
}

$(document).on("click", "#btnAdd", function () {             

    var $new_row = $("<tr>" +
        "<td><input type='text' id='Ecd' /></td>" +
        "</tr>");

    var $EcdTextbox = $new_row.find('text');

    $EcdTextbox.append(AddDatePicker()); 

   $("#tblWorkpack tbody").append($new_row);


});

由于某些原因,我需要以上面写的方式创建动态表,因为还有其他行。我需要在动态生成的表行中添加datepicker。上述函数仅适用于第一行,而后续行则失败。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

它可以像这样完成。

只需在新的输入元素上添加日期选择器。而且你不能在一个元素上附加一个函数。如果你想找到并输入字段类型文本,你需要写.find(&#39;输入[type =&#34; text&#34;]&#39;)找不到(&#39; text&# 39;):) 永远不要生成具有相同ID名称的动态元素:)

&#13;
&#13;
$(document).on("click", "#btnAdd", function() {

  var $new_row = $("<tr><td><input type='text' class='Ecd' /></td></tr>");

  $new_row.find('input').datepicker();


  $("#tblWorkpack tbody").append($new_row);


});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css" />
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>


<table id="tblWorkpack">
  <tbody></tbody>
</table>

<div id="btnAdd">Add Row</div>
&#13;
&#13;
&#13;