我可以使用 javascript 变量在 jQuery 日期选择器上设置 yearRange 吗?
Can I use a javascript variable to set yearRange on jQuery Datepicker?
我需要从两个 javascript 变量中设置 yearRange,但是这些变量仅在用户从页面上的多个按钮中选择一个后才设置,每个按钮都将变量设置为特定年份,因此当用户加载页面时,变量尚未设置。我不知道我想要的是否可行,因为我不确定变量的值是否会更新。我认为代码应该类似于:
var startDate;
var endDate;
$(".pickdate").datepicker({
showOn: 'focus',
yearRange: startDate+':'+endDate,
changeMonth: true,
});
其中变量的值是从另一个 .js 文件中获取的。
是的,如果你的第二个 js 在你在这里提到的代码之前加载到全局范围内,你就可以。
[UPDATE] 片段示例:正如您在此示例中所见,您不能 select 2021 年之后或 2018 年之前的日期!这就是 yearRange
选项的目的。它应该为日历定义设置限制。
console.log(dates.enddate);
$(".pickdate").datepicker({
showOn: 'focus',
yearRange: dates.startDate+':'+dates.enddate,
changeMonth: true,
});
//If already contactenated, We can write:
//yearRange: range,
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Datepicker</title>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0/themes/smoothness/jquery-ui.css">
<script>var dates={ startDate:"2018",enddate:"2021"};
//var range = dates.startDate+':'+dates.enddate;
</script>
</head>
<body>
<div class="pickdate"></div>
</body>
</html>
示例:
//settings.js
var dates={ startDate:"2018",enddate:"2021"}
所以你只需在脚本之前加载它,如下所示:
<script src="settings.js"></script>
//Your code comes after
$(".pickdate").datepicker({
showOn: 'focus',
yearRange: dates.startDate+':'+dates.endDate,
changeMonth: true,
});
有关相对默认值等其他详细信息,您可以遵循 Datepicker Widget
的指导方针
我需要从两个 javascript 变量中设置 yearRange,但是这些变量仅在用户从页面上的多个按钮中选择一个后才设置,每个按钮都将变量设置为特定年份,因此当用户加载页面时,变量尚未设置。我不知道我想要的是否可行,因为我不确定变量的值是否会更新。我认为代码应该类似于:
var startDate;
var endDate;
$(".pickdate").datepicker({
showOn: 'focus',
yearRange: startDate+':'+endDate,
changeMonth: true,
});
其中变量的值是从另一个 .js 文件中获取的。
是的,如果你的第二个 js 在你在这里提到的代码之前加载到全局范围内,你就可以。
[UPDATE] 片段示例:正如您在此示例中所见,您不能 select 2021 年之后或 2018 年之前的日期!这就是 yearRange
选项的目的。它应该为日历定义设置限制。
console.log(dates.enddate);
$(".pickdate").datepicker({
showOn: 'focus',
yearRange: dates.startDate+':'+dates.enddate,
changeMonth: true,
});
//If already contactenated, We can write:
//yearRange: range,
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Datepicker</title>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0/themes/smoothness/jquery-ui.css">
<script>var dates={ startDate:"2018",enddate:"2021"};
//var range = dates.startDate+':'+dates.enddate;
</script>
</head>
<body>
<div class="pickdate"></div>
</body>
</html>
示例:
//settings.js
var dates={ startDate:"2018",enddate:"2021"}
所以你只需在脚本之前加载它,如下所示:
<script src="settings.js"></script>
//Your code comes after
$(".pickdate").datepicker({
showOn: 'focus',
yearRange: dates.startDate+':'+dates.endDate,
changeMonth: true,
});
有关相对默认值等其他详细信息,您可以遵循 Datepicker Widget
的指导方针