你能告诉我如何在查询手机中阻止在type =“date”中选择未来的日期吗? 我在标题上有按钮(+)。点击我打开一个弹出屏幕。有一个日期字段。我需要在日期选择器中阻止或隐藏未来日期(type =“date”)。
这里是小提琴 http://jsfiddle.net/Gajotres/7JqRG/6/
$(document).on('pagebeforeshow', '#Home', function(){
$(document).on( "popupafteropen", "#CaseInformationScreen",function( event, ui ) {
var now = new Date();
var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);
var today = now.getFullYear()+"-"+(month)+"-"+(day) ;
$('#caseDate').val(today);
});
});
答案 0 :(得分:2)
工作示例:http://jsfiddle.net/Gajotres/7JqRG/9/
$(document).on('pagebeforeshow', '#Home', function(){
$(document).on( "popupafteropen", "#CaseInformationScreen",function( event, ui ) {
var now = new Date();
var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);
var today = now.getFullYear()+"-"+(month)+"-"+(day) ;
$('#caseDate').attr('max', today);
$('#caseDate').val(today);
});
});
参考文档:http://html5doctor.com/html5-forms-input-types/
不幸的是因为max和min在iOS上不起作用,这里也是解决这个问题的javascript方法:http://jsfiddle.net/Gajotres/7JqRG/10/
var dateControler = {
currentDate : null
}
$(document).on('pagebeforeshow', '#Home', function(){
$(document).on( "popupafteropen", "#CaseInformationScreen",function( event, ui ) {
var now = new Date();
var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);
var today = now.getFullYear()+"-"+(month)+"-"+(day) ;
$('#caseDate').val(today);
dateControler.currentDate = today;
});
$(document).on( "change", "#caseDate",function( event, ui ) {
var now = new Date();
var selectedDate = new Date($(this).val());
if(selectedDate > now) {
$(this).val(dateControler.currentDate)
} else {
dateControler.currentDate = $(this).val();
}
});
});
答案 1 :(得分:1)
我们可以在输入类型中设置max和min属性,并以ISO格式(例如2010-08-14
)分配日期,首先是四位数的年份,然后是月份,最后一个位置是月份的日期。 / p>
<input type="date" min="2010-08-14" max="2011-08-14" value="2010-08-14"/>
请注意:
答案 2 :(得分:0)
我们可以设置日期输入类型的“最大”和“最小”日期,使用属性隐藏未来日期。
$('#caseDate').attr("max",today);
$('#caseDate').attr("min",today);