首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何动态设置jquery的datebox的minHour选项

如何动态设置jquery的datebox的minHour选项
EN

Stack Overflow用户
提问于 2013-11-26 22:27:44
回答 1查看 645关注 0票数 1

我有两个输入的type=“文本”日期-角色=“日期框”

一是开始时间。另一个是结束时间。

我想做的是,当用户选择开始时间时,我将结束时间日期框的minHour选项更改为他们选择的小时。

这有可能吗?如果是这样的话,是怎么做的?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-27 15:27:42

据我所见,minHour似乎默认时间选择器弹出到正确的时间,但它允许您选择更早的时间。如果您选择的时间比minHour早,则datebox将显示较早的小时,但当您调用datebox(‘getTheDate’)时,它将返回minHour。所以我想出了一个解决办法,可以帮你解决这个问题。

这是一个演示

每个日期框都有onclose的回调:

代码语言:javascript
代码运行次数:0
运行
复制
<input name="Date1" id="Date1" type="date" data-role="datebox" 
data-options='{"mode": "timebox", "closeCallback": "Date1Close();"}' /> 
...
<input name="Date2" id="Date2" type="date" data-role="datebox" 
data-options='{"mode": "timebox", "closeCallback": "Date2Close();"}' /> 

启动时间上的回调获取所选时间的时间,然后将最终时间框的minHour设置为该小时+ 1。然后“解决办法”是结束时间的回调,该回调将框的时间设置为框的“getTheDate”,以便更正显示。

代码语言:javascript
代码运行次数:0
运行
复制
function Date1Close(){
    var startdate = $('#Date1').datebox('getTheDate');
    var minH = startdate.getHours() + 1;
    if (minH > 23) minH = 23;
    $('#Date2').datebox({"minHour": minH});
}

function Date2Close(){
    var enddate = $('#Date2').datebox('getTheDate');
    $('#Date2').datebox('setTheDate', enddate);
    $('#Date2').trigger('datebox', {'method':'doset'});
}

在第二个回调中,您也可以将结束时间与startime进行比较,如果end小于start,则将第二个datebox设置为starttime。

您可能需要与Datebox开发人员联系,看看是否有minHour特性的错误.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20229314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档