jQuery - 在附加元素上实时初始化AnyTime Picker

时间:2010-07-01 06:46:22

标签: jquery initialization datepicker live anytime

http://www.ama3.com/anytime/

$(".pick_date").AnyTime_picker({ format: "%W, %M %D, %z" });

这是在.pick_date元素上初始化AnyTime选择器的代码。但是,如果我追加元素,那么AnyTime不会对它起作用。有没有办法让它发挥作用。

我试过了:

$('#submit-buton').live("click", function() {

    $.ajax({
        type: "POST",
        url: '/AddTask',
        dataType: 'html',
        success: function(data) { 
            $("#taskModule").append(data);              

            $(".pick_date").AnyTime_picker({ format: "%W, %M %D, %z" });
        }
    });

});

但没有效果......

有什么想法吗?

编辑:

这有效:

<div id="mydatepicker">
</div>

<input type="button" id="MyButton"  value="Append" />

<script type="text/javascript">

    $(function() {

        var mydatepickerHtml = 'English: <input type="text" id="field1" size="50" value="Sunday, July 30th in the Year 1967 CE" /><br/>Español: <input type="text" id="field2" value="12:34" />';
        $("#mydatepicker").append(mydatepickerHtml);

        $('#MyButton').live("click", function() {            
            // ...
        });

        AnyTime.picker( "field1",       { format: "%W, %M %D in the Year %z %E", firstDOW: 1 } );
          $("#field2").AnyTime_picker( 
              { format: "%H:%i", labelTitle: "Hora",
                labelHour: "Hora", labelMinute: "Minuto" } );

    });
</script>

但这不是......

<div id="mydatepicker">
</div>

<input type="button" id="MyButton"  value="Append" />

<script type="text/javascript">

    $(function() {  
        $('#MyButton').live("click", function() {
            var mydatepickerHtml = 'English: <input type="text" id="field1" size="50" value="Sunday, July 30th in the Year 1967 CE" /><br/>Español: <input type="text" id="field2" value="12:34" />';
            $("#mydatepicker").append(mydatepickerHtml);
        });

        AnyTime.picker( "field1",       { format: "%W, %M %D in the Year %z %E", firstDOW: 1 } );
          $("#field2").AnyTime_picker( 
              { format: "%H:%i", labelTitle: "Hora",
                labelHour: "Hora", labelMinute: "Minuto" } );
    });
</script>

2 个答案:

答案 0 :(得分:2)

编辑:

这很有效。

<div id="mydatepicker"> 
</div> 

<input type="button" id="MyButton"  value="Append" /> 

<script type="text/javascript"> 

    $(function() {   
        $('#MyButton').live("click", function() { 
            var mydatepickerHtml = 'English: <input type="text" id="field1" size="50" value="Sunday, July 30th in the Year 1967 CE" /><br/>Español: <input type="text" id="field2" value="12:34" />'; 
            $("#mydatepicker").append(mydatepickerHtml); 

            AnyTime.picker( "field1",       { format: "%W, %M %D in the Year %z %E", firstDOW: 1 } ); 
          $("#field2").AnyTime_picker(  
              { format: "%H:%i", labelTitle: "Hora", 
                labelHour: "Hora", labelMinute: "Minuto" } ); 
        }); 


    }); 
</script> 

我在附加的html的示例页面中尝试了这个插件。它有效。

我认为您应该检查ajax请求中返回的html data。它是否包含pick_date元素?

您还可以查看$(".pick_date").length以确认您获得了元素。

查看我的样本。

<html>
<head>

<link rel="stylesheet" type="text/css" href="anytimec.css" />
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js" type="text/javascript"></script>                        
<script type="text/javascript" src="anytimec.js"></script>

</head>
<body>
<div id="mydatepicker">
</div>

<script type="text/javascript">

var mydatepickerHtml = 'English: <input type="text" id="field1" size="50" value="Sunday, July 30th in the Year 1967 CE" /><br/>Español: <input type="text" id="field2" value="12:34" />';

$(function()
{
$("#mydatepicker").append(mydatepickerHtml);

AnyTime.picker( "field1",       { format: "%W, %M %D in the Year %z %E", firstDOW: 1 } );
  $("#field2").AnyTime_picker( 
      { format: "%H:%i", labelTitle: "Hora",
        labelHour: "Hora", labelMinute: "Minuto" } );

});

</script>
</body>
</html>

答案 1 :(得分:0)

$.AnyTime_picker()应该适用于类和附加元素。请在此处发布我可以调试问题的URL,或者通过http://www.ama3.com/doorkeeper/向我发送消息,我会将您的电子邮件地址列入白名单,这样您就可以通过电子邮件向我发送相关的HTML / CSS / JS文件,我可以尝试重现我的电脑上的问题。谢谢!