首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DatePicker在jQuery中没有显示日历

DatePicker在jQuery中没有显示日历
EN

Stack Overflow用户
提问于 2014-04-11 08:38:40
回答 2查看 3.8K关注 0票数 1

我试图在jQuery中做一个日期选择器。我把这些放在头标签里:

代码语言:javascript
复制
<link rel="stylesheet" type="text/css" media="screen" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css">
    <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
    <script type="text/javascript">
    $(function() {
        $('.date-picker').datepicker( {
            changeMonth: true,
            changeYear: true,
            showButtonPanel: true,
            dateFormat: 'MM yy',
            onClose: function(dateText, inst) { 
                var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
                var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
                $(this).datepicker('setDate', new Date(year, month, 1));
            }
        });
    });
    </script>

从我在JavaScript中的代码的这一部分调用日期选择器:

代码语言:javascript
复制
case "mhc":
        if (mhc_overlay == null) {
               mhc_overlay = new google.maps.HeatmapLayer();
        }
        if (!mhc_overlay_visible) {
            mhc_overlay_visible = true;
            $("#MHC").removeClass("menuLink");
            $("#MHC").addClass("menuLink_selected");

            visibleOverlays.push("mhc");

            var content = "";
            content += "<label for='startDate'>Date :</label>";
            content += "<input name='startDate' id='startDate' class='date-picker' />";

            filterWindowContent.push({ id: "mhc", label: label, content: content });
            showFilterWindow();

            map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
            addToCurrentOverlayList("loadedmhc", "mhc", "MHC Live Map");

        }
        break; 

没有显示错误消息,只是日期选择器在选中时不显示日历。我想知道为什么会这样。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-11 09:17:02

您要在文档中动态添加textfield。因此,您需要在showFilterWindow()函数之后调用datepicker()函数。我想在那之后它会正常工作。将您的jQuery数据报警器函数放在一个单独的函数中。如下所示:

代码语言:javascript
复制
function showdatepicker() {
$('.date-picker').datepicker( {
        changeMonth: true,
        changeYear: true,
        showButtonPanel: true,
        dateFormat: 'MM yy',
        onClose: function(dateText, inst) { 
            var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
            var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
            $(this).datepicker('setDate', new Date(year, month, 1));
        }
    });
}

并在showFilterWindow()函数之后调用这个showdatepicker()函数。如下所示:

代码语言:javascript
复制
 case "mhc":
    if (mhc_overlay == null) {
           mhc_overlay = new google.maps.HeatmapLayer();
    }
    if (!mhc_overlay_visible) {
        mhc_overlay_visible = true;
        $("#MHC").removeClass("menuLink");
        $("#MHC").addClass("menuLink_selected");

        visibleOverlays.push("mhc");

        var content = "";
        content += "<label for='startDate'>Date :</label>";
        content += "<input name='startDate' id='startDate' class='date-picker' />";

        filterWindowContent.push({ id: "mhc", label: label, content: content });
        showFilterWindow();
        showdatepicker();

        map.setMapTypeId(google.maps.MapTypeId.ROADMAP);
        addToCurrentOverlayList("loadedmhc", "mhc", "MHC Live Map");

    }
    break; 

我想它会成功的。如果没有,请分享一个链接,以便我可以在线检查它。

票数 0
EN

Stack Overflow用户

发布于 2014-04-11 09:06:30

在调用jquery UI之前,需要添加jQuery库:

代码语言:javascript
复制
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23007542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档