产品里有开始和结束时间,结束时间不能小于开始时间。但是我看钉钉的api里没有对日期控件范围的设置。怎么自定义呢?比方说:开始时间是2017-10-10,结束日期就要从11号开始选择,11号之前的日期不能选择
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在钉钉的API中,确实没有直接提供限制日期选择范围的设置选项。但是,你可以通过前端技术(如JavaScript)来实现这个需求。具体做法是:当用户在开始日期的日期控件上选择了一个日期后,动态地修改结束日期控件的可选日期范围。
以下是一个简单的示例代码,使用了jQuery库来简化DOM操作:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自定义日期范围选择</title>
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdn.staticfile.org/eonasdan-bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script>
<link rel="stylesheet" href="https://cdn.staticfile.org/eonasdan-bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.min.css">
</head>
<body>
<div class="container">
<div class="row">
<div class='col-sm-6'>
<div class="form-group">
<div class='input-group date' id='datetimepicker1'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class='col-sm-6'>
<div class="form-group">
<div class='input-group date' id='datetimepicker2'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
$('#datetimepicker1').datetimepicker({
format: 'YYYY-MM-DD',
useCurrent: false // 关闭当前时间默认选中
});
$('#datetimepicker2').datetimepicker({
format: 'YYYY-MM-DD',
useCurrent: false // 关闭当前时间默认选中
});
$("#datetimepicker1").on("dp.change", function (e) {
$('#datetimepicker2').data("DateTimePicker").minDate(e.date.add(1, 'day')); // 设置结束日期最小值为开始日期的次日
});
$("#datetimepicker2").on("dp.change", function (e) {
$('#datetimepicker1').data("DateTimePicker").maxDate(e.date); // 如果需要,也可以限制开始日期不能大于结束日期
});
});
</script>
</body>
</html>
这段代码使用了Eonasdan Bootstrap DateTimePicker插件,首先引入了必要的CSS和JS文件,然后通过JavaScript监听开始日期的选择事件,一旦开始日期被选定,就立即更新结束日期控件的最小可选日期为开始日期的次日。这样就可以确保结束日期不能小于开始日期。
请注意,实际应用中你可能需要根据你的项目环境调整资源链接或使用其他日期选择器插件,但基本逻辑类似。