【问题标题】:jQuery DateTimePicker Not displaying the first time field gets focusjQuery DateTimePicker 不显示第一次字段获得焦点
【发布时间】:2012-02-06 14:11:54
【问题描述】:

我开发了一个使用 Trent Richardson 的 jQuery DateTimePicker 的 Web 应用程序 (见http://trentrichardson.com/examples/timepicker/

这是一个 C# aps.net 应用程序,它有一个名为 tbDate 的字段,因为我有一个 MasterPage,这个字段被称为 #MainContent_tbDate 到 jQuery。

在后端 C# 代码中,以下行已添加到 PagePreRenderComplete 事件中。

 tbDate.Attributes.Add("onFocus", "getDate('#MainContent_tbDate');");

如您所见,这只是将 onFocus 事件添加到该字段。 (这适用于其他 12 个领域)

在我的 .js 文件中,我有以下代码。

    //This function launches the date picker
    function getDate(field){
        if (debug)
            {
                $.jGrowl("Displaying Date for field " + field);
            }
            $(field).datetimepicker({
                dateFormat:'dd/mm/yy',
                timeFormat:'hh:mm'
             });
        if (debug) {
            $.jGrowl("Launched " + field);
        }
    }

当字段获得焦点时运行。现在的问题是它第一次获得焦点我看到我的第一条 jGrowl 消息,然后没有日期选择器,然后我看到我的第二条 jGrowl 消息。

我没有收到任何脚本错误。

如果我将焦点从字段上移开,然后将其返回,我会正确看到日期选择器。

为什么我在第一次获得焦点时没有看到它????

谢谢

SM

【问题讨论】:

    标签: c# jquery asp.net jquery-ui


    【解决方案1】:

    试试这个:

    function getDate(field){
          $(function(){ 
             if (debug)
                {
                    $.jGrowl("Displaying Date for field " + field);
                }
                $(field).datetimepicker({
                    dateFormat:'dd/mm/yy',
                    timeFormat:'hh:mm'
                 });
            if (debug) {
                $.jGrowl("Launched " + field);
            }
    }) 
        }
    

    【讨论】:

    • 这已在 IE8 中修复,但问题仍然出现在 Chrome 中,无论是 Mac 还是 Windows XP。
    猜你喜欢
    • 2016-11-17
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多