我正在尝试使用jqueryui datepicker。我想使用内联模式。
我想知道如何在用户选择日期时获取所选日期。在哪里获得以及如何获得?
答案 0 :(得分:62)
您可以使用getDate函数检索日期:
$("#datepicker").datepicker( 'getDate' );
该值作为JavaScript Date对象返回。
如果要在用户选择日期时使用此值,可以使用onSelect事件:
$("#datepicker").datepicker({
onSelect: function(dateText, inst) {
var dateAsString = dateText; //the first parameter of this function
var dateAsObject = $(this).datepicker( 'getDate' ); //the getDate method
}
});
在这种情况下,第一个参数是选定的Date作为String。使用parseDate将其转换为JS Date Object。
有关完整的jQuery UI DatePicker参考,请参阅http://docs.jquery.com/UI/Datepicker。
答案 1 :(得分:19)
$(document).on("change", "#datepickerdiv", function () {
alert($(this).val())
})
这是Jquery中最简单的答案。
答案 2 :(得分:1)
我尝试使用关闭event
,但它也曾用于在日历打开时触发,我点击了scree上的其他位置。最终日历会丢失focus
和close event
。所以我找到了这个;
onClose: function (dateText, inst) {
function isDonePressed() {
return ($('#ui-datepicker-div').html().indexOf('ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all ui-state-hover') > -1);
}
if (isDonePressed()) {
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));
}
}