我正在使用日期选择器为我的表单选择日期,我如何控制日期不能大于实际日期,以及如何控制另一个日期应该在-x天和+之间x天?
感谢。
我尝试下一个代码,但它不起作用。
$.validator.addMethod("greaterThan",
function(value, element, params) {
if (!/Invalid|NaN/.test(new Date(value))) {
return new Date(value) > new Date($(params).val());
}
return isNaN(value) && isNaN($(params).val())
|| (parseFloat(value) > parseFloat($(params).val()));
}, 'Must be greater than {0}.');
$.datepicker.setDefaults({
dateFormat: 'yy/mm/dd',
dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],
monthNames: ['Enero de', 'Febrero de', 'Marzo de', 'Abril de', 'Mayo de', 'Junio de', 'Julio de', 'Agosto de', 'Septiembre de', 'Octubre de', 'Noviembre de', 'Diciembre de'],
nextText: 'Siguiente',
prevText: 'Anterior'
});
$(function() {
$("#tbFechaInicio").datepicker({ minDate: -20, maxDate: "+1M +10D" });
});
$(function() {
$("#tbFechaEntrega").datepicker({ minDate: -20, maxDate: "+1M +10D" });
});
答案 0 :(得分:2)
您是否尝试过jQuery UI日期选择器组件?
http://jqueryui.com/demos/datepicker/#min-max
您可以使用minDate
和maxDate
选项指定限制,即使使用+和 - 也可以使用动态日期范围。这也可以将文本框中的输入限制为有效日期。
这是一个很棒的工具,为什么要重新发明轮子呢?
答案 1 :(得分:0)
您可以使用以下内容控制最大日期和最短日期
$("#yourdatepickerid").datepicker({
dateFormat: 'yy-mm-dd',
maxDate: '-1d',
minDate: new Date(2008, 1 - 1, 1)
});