Datepicker JQUERY 不是 select 输入日期
Datepicker JQUERY not select input date
我有 jquery 日期选择器并尝试制作 select 数据进行计数。当单击输入时,我从消息 1,april,21 的输入中获得日期选择器日历和同时提醒。如果我从日期选择器中选择日期,我不会从我的函数中得到结果。如果我选择消息日期,我会得到 NaN。所以这意味着我的日期选择器 select 不起作用。我该如何解决。对这个 plagin 很厌倦
我的 HTML
<input type="text" class="form-control datepicker error-place" name="datepicker" id="datepicker" placeholder="27/04/2021" required data-error="#datepicker">
var datepicker = $("#datepicker").datepicker({
closeText: "Đóng",
prevText: "Trước",
nextText: "Sau",
currentText: "Hôm nay",
monthNames: ["Tháng một", "Tháng hai", "Tháng ba", "Tháng tư", "Tháng năm", "Tháng sáu", "Tháng bảy", "Tháng tám", "Tháng chín", "Tháng mười", "Tháng mười một", "Tháng mười hai"],
monthNamesShort: ["Một", "Hai", "Ba", "Bốn", "Năm", "Sáu", "Bảy", "Tám", "Chín", "Mười", "Mười một", "Mười hai"],
dayNames: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy"],
dayNamesShort: ["CN", "Hai", "Ba", "Tư", "Năm", "Sáu", "Bảy"],
dayNamesMin: ["CN", "T2", "T3", "T4", "T5", "T6", "T7"],
weekHeader: "Tuần",
dateFormat: "dd/mm/yy",
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
changeYear: true,
});
和函数
function GetBirthDate() {
var flatpickr;
$("#datepicker").datepicker({
dateFormat: "yy-m-d",
changeMonth: true,
changeYear: true,
onSelect: function (dateText, inst) {
var dt = $.datepicker.parseDate("yy-m-d", dateText);
flatpickr = dt.getFullYear();
console.log("Birth Year: " + flatpickr);
}
});
};
这不是回调或日期选择器的问题。
您使用错误的日期格式来解析日期。
它应该是 'dd/mm/yy' 而不是 'yy-m-d'.
代码应该是这样的,(看看 onSelect 函数):
var datepicker = $("#datepicker").datepicker({
closeText: "Đóng",
prevText: "Trước",
nextText: "Sau",
currentText: "Hôm nay",
monthNames: ["Tháng một", "Tháng hai", "Tháng ba", "Tháng tư", "Tháng năm", "Tháng sáu", "Tháng bảy", "Tháng tám", "Tháng chín", "Tháng mười", "Tháng mười một", "Tháng mười hai"],
monthNamesShort: ["Một", "Hai", "Ba", "Bốn", "Năm", "Sáu", "Bảy", "Tám", "Chín", "Mười", "Mười một", "Mười hai"],
dayNames: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy"],
dayNamesShort: ["CN", "Hai", "Ba", "Tư", "Năm", "Sáu", "Bảy"],
dayNamesMin: ["CN", "T2", "T3", "T4", "T5", "T6", "T7"],
weekHeader: "Tuần",
dateFormat: "dd/mm/yy",
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
changeYear: true,
onSelect: function(dateText, inst) {
var dt = $.datepicker.parseDate("dd/mm/yy", dateText);
console.log(dt);
flatpickr = dt.getFullYear();
console.log("Birth Year: " + flatpickr);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<input type="text" class="form-control datepicker error-place" name="datepicker" id="datepicker" placeholder="27/04/2021" required data-error="#datepicker">
我有 jquery 日期选择器并尝试制作 select 数据进行计数。当单击输入时,我从消息 1,april,21 的输入中获得日期选择器日历和同时提醒。如果我从日期选择器中选择日期,我不会从我的函数中得到结果。如果我选择消息日期,我会得到 NaN。所以这意味着我的日期选择器 select 不起作用。我该如何解决。对这个 plagin 很厌倦 我的 HTML
<input type="text" class="form-control datepicker error-place" name="datepicker" id="datepicker" placeholder="27/04/2021" required data-error="#datepicker">
var datepicker = $("#datepicker").datepicker({
closeText: "Đóng",
prevText: "Trước",
nextText: "Sau",
currentText: "Hôm nay",
monthNames: ["Tháng một", "Tháng hai", "Tháng ba", "Tháng tư", "Tháng năm", "Tháng sáu", "Tháng bảy", "Tháng tám", "Tháng chín", "Tháng mười", "Tháng mười một", "Tháng mười hai"],
monthNamesShort: ["Một", "Hai", "Ba", "Bốn", "Năm", "Sáu", "Bảy", "Tám", "Chín", "Mười", "Mười một", "Mười hai"],
dayNames: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy"],
dayNamesShort: ["CN", "Hai", "Ba", "Tư", "Năm", "Sáu", "Bảy"],
dayNamesMin: ["CN", "T2", "T3", "T4", "T5", "T6", "T7"],
weekHeader: "Tuần",
dateFormat: "dd/mm/yy",
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
changeYear: true,
});
和函数
function GetBirthDate() {
var flatpickr;
$("#datepicker").datepicker({
dateFormat: "yy-m-d",
changeMonth: true,
changeYear: true,
onSelect: function (dateText, inst) {
var dt = $.datepicker.parseDate("yy-m-d", dateText);
flatpickr = dt.getFullYear();
console.log("Birth Year: " + flatpickr);
}
});
};
这不是回调或日期选择器的问题。 您使用错误的日期格式来解析日期。 它应该是 'dd/mm/yy' 而不是 'yy-m-d'.
代码应该是这样的,(看看 onSelect 函数):
var datepicker = $("#datepicker").datepicker({
closeText: "Đóng",
prevText: "Trước",
nextText: "Sau",
currentText: "Hôm nay",
monthNames: ["Tháng một", "Tháng hai", "Tháng ba", "Tháng tư", "Tháng năm", "Tháng sáu", "Tháng bảy", "Tháng tám", "Tháng chín", "Tháng mười", "Tháng mười một", "Tháng mười hai"],
monthNamesShort: ["Một", "Hai", "Ba", "Bốn", "Năm", "Sáu", "Bảy", "Tám", "Chín", "Mười", "Mười một", "Mười hai"],
dayNames: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy"],
dayNamesShort: ["CN", "Hai", "Ba", "Tư", "Năm", "Sáu", "Bảy"],
dayNamesMin: ["CN", "T2", "T3", "T4", "T5", "T6", "T7"],
weekHeader: "Tuần",
dateFormat: "dd/mm/yy",
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
changeYear: true,
onSelect: function(dateText, inst) {
var dt = $.datepicker.parseDate("dd/mm/yy", dateText);
console.log(dt);
flatpickr = dt.getFullYear();
console.log("Birth Year: " + flatpickr);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<input type="text" class="form-control datepicker error-place" name="datepicker" id="datepicker" placeholder="27/04/2021" required data-error="#datepicker">