修改链接datetimepicker minDate maxDate函数
Modifying linked datetimepicker minDate maxDate function
我已经实现了一对链接的日期时间选择器。min和maxDate函数工作得很好,但是我想修改它,以便即使用户在一个输入中选择了一个关闭限制的日期,另一个输入也不会阻止用户这样做,而是相应地更新min或maxDate。(例如,如果用户选择了"上午10点"answers"下午2点",而他/她选择了"下午3点",那么第二个字段将改为"下午4点"。)我不知道该怎么做。
pickers html:
<div class='col-lg-6'>
<div class="form-group">
<div class='input-group date' id='datetimepicker6'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class='col-lg-6'>
<div class="form-group">
<div class='input-group date' id='datetimepicker7'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
js:
$(function () {
$('#datetimepicker6').datetimepicker();
$('#datetimepicker7').datetimepicker({
//useCurrent: false //Important! See issue #1075
//btw, it is suggested to set useCurrent to false but the picker is not working when it's set to false so I didn't..
});
$("#datetimepicker6").on("dp.change", function (e) {
$('#datetimepicker7').data("DateTimePicker").minDate(e.date);
});
$("#datetimepicker7").on("dp.change", function (e) {
$('#datetimepicker6').data("DateTimePicker").maxDate(e.date);
});
});
编辑:
我尝试了一些东西,但似乎不相关:
$(function () {
$('#datetimepicker1').datetimepicker({
format: 'LT'
});
$('#datetimepicker2').datetimepicker({
//useCurrent: false //Important! See issue #1075
format: 'LT'
});
//$("#datetimepicker1").on("dp.change", function (e) {
// $('#datetimepicker2').data("DateTimePicker").minDate(e.date);
//});
//$("#datetimepicker2").on("dp.change", function (e) {
// $('#datetimepicker1').data("DateTimePicker").maxDate(e.date);
//});
});
$('#datetimepicker1').datetimepicker({
//minDate: 0, // to disable past dates (skip if not needed)
onClose: function(selectedDate) {
// Set the minDate of 'to' as the selectedDate of 'from'
$('#datetimepicker2').data("DateTimePicker").minDate(selectedDate);
}
});
$('#datetimepicker2').datetimepicker();
下面是工作代码。
更新演示HTML<div class="container">
<div class='col-md-5'>
<div class="form-group">
<div class='input-group date' id='datetimepicker6'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class='col-md-5'>
<div class="form-group">
<div class='input-group date' id='datetimepicker7'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
</div>
JS
var timeDiff;
$(function () {
$('#datetimepicker6').datetimepicker();
$('#datetimepicker7').datetimepicker({
useCurrent: false //Important! See issue #1075
});
$("#datetimepicker6").on("dp.change", function (e) {
if (timeDiff) {
$('#datetimepicker7').data("DateTimePicker").date(e.date.add(timeDiff, 's'));
$('#datetimepicker7').data("DateTimePicker").minDate(false);
} else $('#datetimepicker7').data("DateTimePicker").minDate(e.date);
});
$("#datetimepicker7").on("dp.change", function (e) {
var CurrStartDate = new Date($('#datetimepicker6').data("DateTimePicker").date());
var CurrEndDate = new Date($('#datetimepicker7').data("DateTimePicker").date());
if (CurrEndDate) {
timeDiff = (CurrEndDate - CurrStartDate) / 1000;
}
$('#datetimepicker6').data("DateTimePicker").maxDate(e.date);
});
});
注:这里根据您的需要,我修改了我的代码,但是当第一个选择器改变时,我无法在第二个日期时间选择器上设置mindate
,所以我只是在第二个选择器上清除mindate
。你最好试一试。
这里已经给出了关于StackOverFlow的问题,显示了如何动态更改选项。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- JQuery合并了keyup和focusout两个函数
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 我可以在json对象中添加一个函数吗
- AngularJS:我可以跳过函数参数回调吗
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- jquery点击函数select&取消选择
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- Node.js v6.2.0类扩展不是函数错误
- 比较从函数和生成的日期对象
- DateTimePicker:函数从minDate maxDate添加删除日期
- 修改链接datetimepicker minDate maxDate函数