Я пытаюсь использовать jqueryui datepicker. Я хочу использовать встроенный режим. Теперь я хочу знать, как я могу получить выбранную дату, когда пользователь выбирает дату. Где можно получить и как получить? Пожалуйста, посоветуйте
Получить выбранную дату в встроенном режиме jqueryui datepicker
Ответ 1
Вы можете получить дату с помощью функции getDate:
$("#datepicker").datepicker( 'getDate' );
Значение возвращается как объект даты JavaScript.
Если вы хотите использовать это значение, когда пользователь выбирает дату, вы можете использовать событие 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 as String. Используйте parseDate, чтобы преобразовать его в объект даты JS.
См. http://docs.jquery.com/UI/Datepicker для полной ссылки на jQuery UI DatePicker.
Ответ 2
$(document).on("change", "#datepickerdiv", function () {
alert($(this).val())
})
Это самый простой ответ в JQuery.
Ответ 3
Я пытался работать с close 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));
}
}