Datepicker内部appendTo()不起作用

时间:2014-01-10 12:59:35

标签: jquery datepicker

使用jquery onclick激活Datepicker,如下所示。

  $(function() {
            $( "#datepicker2" ).datepicker();
        });

它在单个文本框内工作。但是当使用新的附加文本框中的appendTo() Datepicker创建多个框时不起作用。

 $(document).ready(function(){
    var counter2 =2;
    $("#addButton2").click(function () {

var newTextBoxDiv2 = $(document.createElement('div')).attr("id", 'TextBoxDiv2' + counter2);
    newTextBoxDiv2.after().html('<input type="text" id="datepicker'+counter2+'" name="datepicker3" class="input" />');

    newTextBoxDiv2.appendTo("#TextBoxesGroup2");
    counter2++;
    });

1 个答案:

答案 0 :(得分:1)

将输入存储到新变量中,然后调用datepicker

 $(document).ready(function(){
    var counter2 =2;
    $("#addButton2").click(function () {

        var newTextBoxDiv2 = $(document.createElement('div')).attr("id", 'TextBoxDiv2' + counter2);
        var datePicker = $("<input/>",{
            type: "text",
            id: "datepicker-" + counter2,
            name: "datepicker" + counter2
        });
        $(datePicker).datepicker();

        newTextBoxDiv2.append(datePicker);
        newTextBoxDiv2.appendTo("#TextBoxesGroup2");
        counter2++;

    });
 });

JS小提琴: http://jsfiddle.net/Yj3yb/4/


旁注

jQuery可以为您创建元素。例如,这个:

var newTextBoxDiv2 = $(document.createElement('div')).attr("id", 'TextBoxDiv2' + counter2);

可以整理到:

   var newTextBoxDiv2 = $("<div/>").attr("id", 'TextBoxDiv2' + counter2);