如何使用日期选择器将下周除外设置为禁用
How to set disabled except next week using datepicker
我正在使用日期选择器jquery。我想添加一个启用或禁用设置,以便我只能 select 下周基于今天。找了几天也没找到我要的功能,只好post求教了。谢谢。
<script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.12.1/jquery-ui.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"></script>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Datepicker - Restrict date range</title>
<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>
<script>
$( function() {
var today = new Date();
var next_week = new Date();
next_week.setDate(today.getDate()+(7-today.getDay()));
var next_weekend = new Date();
next_weekend.setDate(next_week.getDate()+6);
$( "#datepicker" ).datepicker({ minDate: next_week, maxDate: next_weekend });
} );
// For specific Dates
/* $( function() {
var today = new Date("09/15/2021");
var next_week = new Date("09/15/2021");
next_week.setDate(today.getDate()+(7-today.getDay()));
var next_weekend = new Date("09/15/2021");
next_weekend.setDate(next_week.getDate()+6);
$( "#datepicker" ).datepicker({ minDate: next_week, maxDate: next_weekend });
} ); */
</script>
</head>
<body>
<p>Date: <input type="text" id="datepicker"></p>
</body>
</html>
您可以使用min-max
设置星期如下:
$( function() {
var today = new Date();
var next_week = new Date();
next_week.setDate(today.getDate()+(7-today.getDay()));
var next_weekend = new Date();
next_weekend.setDate(next_week.getDate()+6);
$( "#datepicker" ).datepicker({ minDate: next_week, maxDate: next_weekend });
} );
此外,您还可以针对特定日期更新相同的函数,如下所示:
$( function() {
var today = new Date("09/15/2021");
var next_week = new Date("09/15/2021");
next_week.setDate(today.getDate()+(7-today.getDay()));
var next_weekend = new Date("09/15/2021");
next_weekend.setDate(next_week.getDate()+6);
$( "#datepicker" ).datepicker({ minDate: next_week, maxDate: next_weekend });
} );
或者,如果您想使用日期范围,则以下代码段适用于日期范围。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Datepicker - Select a Date Range</title>
<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>
<script>
$( function() {
var today = new Date();
var next_week = new Date();
next_week.setDate(today.getDate()+(7-today.getDay()));
var next_weekend = new Date();
next_weekend.setDate(next_week.getDate()+6);
var dateFormat = "mm/dd/yy",
from = $( "#from" )
.datepicker({
minDate: next_week,
maxDate: next_weekend
})
.on( "change", function() {
to.datepicker( "option", "minDate", getDate( this ) );
}),
to = $( "#to" ).datepicker({
minDate: next_week,
maxDate: next_weekend
})
.on( "change", function() {
from.datepicker( "option", "maxDate", getDate( this ) );
});
function getDate( element ) {
var date;
try {
date = $.datepicker.parseDate( dateFormat, element.value );
} catch( error ) {
date = null;
}
return date;
}
} );
</script>
</head>
<body>
<label for="from">From</label>
<input type="text" id="from" name="from">
<label for="to">to</label>
<input type="text" id="to" name="to">
</body>
</html>
我正在使用日期选择器jquery。我想添加一个启用或禁用设置,以便我只能 select 下周基于今天。找了几天也没找到我要的功能,只好post求教了。谢谢。
<script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.12.1/jquery-ui.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"></script>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Datepicker - Restrict date range</title>
<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>
<script>
$( function() {
var today = new Date();
var next_week = new Date();
next_week.setDate(today.getDate()+(7-today.getDay()));
var next_weekend = new Date();
next_weekend.setDate(next_week.getDate()+6);
$( "#datepicker" ).datepicker({ minDate: next_week, maxDate: next_weekend });
} );
// For specific Dates
/* $( function() {
var today = new Date("09/15/2021");
var next_week = new Date("09/15/2021");
next_week.setDate(today.getDate()+(7-today.getDay()));
var next_weekend = new Date("09/15/2021");
next_weekend.setDate(next_week.getDate()+6);
$( "#datepicker" ).datepicker({ minDate: next_week, maxDate: next_weekend });
} ); */
</script>
</head>
<body>
<p>Date: <input type="text" id="datepicker"></p>
</body>
</html>
您可以使用min-max
设置星期如下:
$( function() {
var today = new Date();
var next_week = new Date();
next_week.setDate(today.getDate()+(7-today.getDay()));
var next_weekend = new Date();
next_weekend.setDate(next_week.getDate()+6);
$( "#datepicker" ).datepicker({ minDate: next_week, maxDate: next_weekend });
} );
此外,您还可以针对特定日期更新相同的函数,如下所示:
$( function() {
var today = new Date("09/15/2021");
var next_week = new Date("09/15/2021");
next_week.setDate(today.getDate()+(7-today.getDay()));
var next_weekend = new Date("09/15/2021");
next_weekend.setDate(next_week.getDate()+6);
$( "#datepicker" ).datepicker({ minDate: next_week, maxDate: next_weekend });
} );
或者,如果您想使用日期范围,则以下代码段适用于日期范围。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Datepicker - Select a Date Range</title>
<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>
<script>
$( function() {
var today = new Date();
var next_week = new Date();
next_week.setDate(today.getDate()+(7-today.getDay()));
var next_weekend = new Date();
next_weekend.setDate(next_week.getDate()+6);
var dateFormat = "mm/dd/yy",
from = $( "#from" )
.datepicker({
minDate: next_week,
maxDate: next_weekend
})
.on( "change", function() {
to.datepicker( "option", "minDate", getDate( this ) );
}),
to = $( "#to" ).datepicker({
minDate: next_week,
maxDate: next_weekend
})
.on( "change", function() {
from.datepicker( "option", "maxDate", getDate( this ) );
});
function getDate( element ) {
var date;
try {
date = $.datepicker.parseDate( dateFormat, element.value );
} catch( error ) {
date = null;
}
return date;
}
} );
</script>
</head>
<body>
<label for="from">From</label>
<input type="text" id="from" name="from">
<label for="to">to</label>
<input type="text" id="to" name="to">
</body>
</html>