我的问题是第二个日历,它与第一个日历同时显示。仅在Firefox上。我将Jquery datepicker添加到代码中,以使日历可在IOS上运行,现在在IOS上也可以,但是在Firefox上,我从Jquery获得了日历,并从输入type =“ date”获得了基本HTML日历。
我想像其他浏览器一样删除Firefox中的HTML日历,只保留JQuery日历。
感谢您的帮助。
这是我的代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="http://code.jquery.com/jquery-1.11.2.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js" type="text/javascript"></script>
<link type="text/css" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" />
</head>
<body>
<input type="date" class="calendar-delivery">
<script type="text/javascript">
$(window).on('load', function () {
if ( $('.calendar-delivery')[0].type = 'date' )
{
$('.calendar-delivery').datepicker(
{
dateFormat: "dd-mm-yy",
minDate: -5,
maxDate: +5,
beforeShowDay: function(date) {
var day = date.getDay();
return [(day != 0), ''];
}
}
);
}
});
</script>
</body>
</html>
问题是因为您已经在date
输入上定义了选择器。需要将其用于普通的text
输入。
还要注意,检查JS中字段类型的条件应删除。部分原因是由于上述原因,也由于逻辑被破坏了。 =
用于设置值,而==
或===
用于检查相等性。
$(window).on('load', function() {
$('.calendar-delivery').datepicker({
dateFormat: "dd-mm-yy",
minDate: -5,
maxDate: +5,
beforeShowDay: function(date) {
var day = date.getDay();
return [(day != 0), ''];
}
});
});
<script src="https://code.jquery.com/jquery-1.11.2.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js" type="text/javascript"></script>
<link type="text/css" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" />
<input type="text" class="calendar-delivery">