jquery追加项目有问题

时间:2009-08-27 09:55:49

标签: jquery datepicker append

我遇到了datePicker的问题。当使用datepicker创建一个新的文本字段并将其附加到某个div时它不会工作..有没有人有同样的问题......

$(function(){

    $("#DP").datepicker({showOn: 'button', buttonId: 'kalendar', buttonImage: 'calendar.gif', buttonImageOnly: true});

    $('a').click(function(){

         $('<input type="text" id="DP">').appendTo('#some_div').show();   
    });
});
...
...

<\body>
<\div id="some_div"></div>
<\a href="#">New datepicker<\/a>
...

我需要更改数量的datePickers字段。抱歉我的英语..

2 个答案:

答案 0 :(得分:2)

我认为这符合您的要求:

...

  <script type="text/javascript">
    $(document).ready(function(){
        field_count = 0;

        $("#add_datepicker").click(function(){
            field_count++;
            var new_field = jQuery("<input type=\"text\" />")
            new_field.attr("id","datepicker_"+field_count);
            new_field.attr("name","datepicker_"+field_count);
            $('#container').append(new_field);
            $('#container').append(jQuery("<br />"));
            $("#datepicker_"+field_count).datepicker();
        });
  });
  </script>
</head>
<body>

<form>
<input type="button" id="add_datepicker" value="Add Datepicker"/>
<div id="container">

</div>
</form>

...

这允许您添加另一个<input>元素,其中包含唯一的idname,以便可以将其作为表单数据提交。

答案 1 :(得分:0)

问题是你在document.ready中将“all”(即一个)#DP设置为datepicker,然后你创建一个id为#DP的新输入。这不会自动设置为datepicker,您需要在“收缩时间”将新输入设置为datepicker,即

$('a').click(function(){

     $('<input type="text" id="DP">').
         datepicker(/*...*/).appendTo('#some_div').show();   
});

NB!您只能拥有一个ID = DP

的DOM元素