我使用jquery datepicker在表单中有2个日期字段。 单击第一个字段并选择日期将自动填充第二个日期字段,其中选择日期为datefield1 +一天 - 一切正常。
但是,如果我单击表单的提交按钮,则不会传输第二个日期字段(即自动填充)的日期,这意味着它为空。但是,如果我手动点击第二个日期字段并通过datepicker选择日期,则会通过表单正确提交日期。
是否有可能将第二个(自动填充的)日期字段设置为点击或类似的东西,以便第二个日期正确提交?
这是脚本:
$(function() {
$(document).ready(function () {
$("#dt1").datepicker({
dateFormat: "dd-M-yy",
minDate: 0,
onSelect: function (date) {
var date2 = $('#dt1').datepicker('getDate');
date2.setDate(date2.getDate() + 1);
$('#dt2').datepicker('setDate', date2);
//sets minDate to dt1 date + 1
$('#dt2').datepicker('option', 'minDate', date2);
}
});
$('#dt2').datepicker({
dateFormat: "dd-M-yy",
onClose: function () {
var dt1 = $('#dt1').datepicker('getDate');
console.log(dt1);
var dt2 = $('#dt2').datepicker('getDate');
if (dt2 <= dt1) {
var minDate = $('#dt2').datepicker('option', 'minDate');
$('#dt2').datepicker('setDate', minDate);
}
}
});
});
此致 Schani
答案 0 :(得分:0)
Try this:
$('#dt2').datepicker('setDate', date2).trigger('change');
instead of:
$('#dt2').datepicker('setDate', date2);
答案 1 :(得分:0)
我自己找到了解决方案。只需$(&#39;#dt2&#39;)。focus();在第一个函数中:
$("#dt1").datepicker({
dateFormat: "dd-M-yy",
minDate: 0,
onSelect: function (date) {
var date2 = $('#dt1').datepicker('getDate');
date2.setDate(date2.getDate() + 1);
$('#dt2').datepicker('setDate', date2);
//sets minDate to dt1 date + 1
$('#dt2').datepicker('option', 'minDate', date2);
$('#dt2' ).focus();
}
});
$('#dt2').datepicker({
dateFormat: "dd-M-yy",
onClose: function () {
var dt1 = $('#dt1').datepicker('getDate');
console.log(dt1);
var dt2 = $('#dt2').datepicker('getDate');
if (dt2 <= dt1) {
var minDate = $('#dt2').datepicker('option', 'minDate');
$('#dt2').datepicker('setDate', minDate);
}