gpt4 book ai didi

javascript - jQuery 中的 DatePicker 不显示日历

转载 作者:行者123 更新时间:2023-11-28 08:20:39 26 4
gpt4 key购买 nike

我正在尝试用 jQuery 做一个日期选择器。我把它们放在 head 标签中:

<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 代码的这一部分正在调用日期选择器:

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;

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

提前致谢。

最佳答案

您正在文档中动态添加文本字段。因此,您需要在 showFilterWindow() 函数之后调用 datepicker() 函数。我认为之后它会正常工作。将 jQuery 日期选择器函数放在单独的函数中。像这样:

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() 函数。像这样:

 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;

我认为它会起作用。如果没有,请分享一个链接,以便我可以在线查看。

关于javascript - jQuery 中的 DatePicker 不显示日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23007542/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com