my97日期控件限制问题

wusongping 2013-02-05 11:41:29
实现功能:

两个input日期控件,用的my97,我想限制的是 两个选择的日期间隔为1个月

并且最大的日期不能超过当天,请问 my97 如何设置,麻烦朋友给出例子,感谢

或者有其他 好用的日期控件能实现这个功能的给下载地址也可以! 在线等!
...全文
1664 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
checklovewei 2015-05-05
  • 打赏
  • 举报
回复
<div class="input-group input-large date-picker input-daterange"> <input type="text" class="form-control" id="txtStartDate" name="from" onfocus="WdatePicker({ minDate: '#F{$dp.$D(\'txtEndDate\',{d:-30});}', maxDate: '#F{$dp.$D(\'txtEndDate\',{d:0});}' })" placeholder="开始日期" /> <span class="input-group-addon">-</span> <input type="text" id="txtEndDate" class="form-control" name="to" onfocus="WdatePicker({ minDate: '#F{$dp.$D(\'txtStartDate\',{d:0});}', maxDate: '#F{$dp.$D(\'txtStartDate\',{d:30});}' })" placeholder="结束日期" /> </div>
wrzs 2013-05-28
  • 打赏
  • 举报
回复
我想问下,在IE10下用My97能根据第一个时间限制第二个时间的开始时间吗
dindinmail 2013-02-20
  • 打赏
  • 举报
回复
需求:时间一与时间二相差范围在30天之内,时间一不能大于时间二,时间二不能超过今天。 xzy21com 大神,貌似还是有问题,请亲测!
scscms太阳光 2013-02-20
  • 打赏
  • 举报
回复
引用 10 楼 wusongping 的回复:
楼上这位朋友的需求说的是对的,但是代码我测试结果好像不准确。 第一个起始时间 我选择 2012-10-31 按道理 截止日期 应该是 2012-11-30 但是 我可以选到 2013-02-07 也就是 最大值的今天 呵呵 结贴! 如果大家还有好方法的 可以贴上来 我追加给分!同时感谢大家的回帖!
那你就加分吧,你提到的小小BUG当时没注意到,代码还是一样,换一下条件优先就可以了,应该是先限制在30天内,再限制不能大于今天。 日期从:<input id="date1" class="Wdate" type="text" onFocus="var date2=$dp.$('date2');WdatePicker({maxDate:'#F{$dp.$D(\'date2\')||\'%y-%M-%d\'}'})"/>至<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({onpicked:function(){date2.focus();},minDate:'#F{$dp.$D(\'date1\')}',maxDate: '#F{$dp.$D(\'date1\',{d:30})||\'%y-%M-%d\'}'})"/>
wusongping 2013-02-07
  • 打赏
  • 举报
回复
楼上这位朋友的需求说的是对的,但是代码我测试结果好像不准确。 第一个起始时间 我选择 2012-10-31 按道理 截止日期 应该是 2012-11-30 但是 我可以选到 2013-02-07 也就是 最大值的今天 呵呵 结贴! 如果大家还有好方法的 可以贴上来 我追加给分!同时感谢大家的回帖!
爱若如梦 2013-02-06
  • 打赏
  • 举报
回复
引用 4 楼 wusongping 的回复:
还是没有限制住。。。我再研究下吧,感谢你的回答!等明天看看还有没有其他答案 没有就结贴!
真是有愧,这回在页面实际上测试了一下,也许能打到你需要的的效果。 <input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'date2\')||\'%y-%M-%d\'}' ,minDate:'#F{$dp.$D(\'date2\',{d:-30})}'})" /> <font color="red">*</font>到<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'date1\')}',maxDate: '{\'%y-%M-%d\'}'})" />
wusongping 2013-02-06
  • 打赏
  • 举报
回复
还是没有限制住。。。我再研究下吧,感谢你的回答!等明天看看还有没有其他答案 没有就结贴!
爱若如梦 2013-02-06
  • 打赏
  • 举报
回复
引用 2 楼 wusongping 的回复:
感谢,第一个的时间选择 应该是 最大值 是当前日吧, 还有个判断就是 如果第一个 时间 加上 1个月的时间差 如果 大于当前日 是不是 最大值应该就取 当前日,控件里面 好像 没有限制住 ! 朋友可否告知如何设置? 如果控件限制不了就算了,先感谢! 一会测试好就结贴!
有误,这样可以吗? <input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'date2\')}' ,minDate:'#F{$dp.$D(\'date2\',{d:-30})}'})" /> <font color="red">*</font>到<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'date1\')}',maxDate: '#F{$dp.$D(\'date1\',{d:30})||\'%y-%M-%d\'}'})" />
wusongping 2013-02-06
  • 打赏
  • 举报
回复
感谢,第一个的时间选择 应该是 最大值 是当前日吧, 还有个判断就是 如果第一个 时间 加上 1个月的时间差 如果 大于当前日 是不是 最大值应该就取 当前日,控件里面 好像 没有限制住 ! 朋友可否告知如何设置? 如果控件限制不了就算了,先感谢! 一会测试好就结贴!
scscms太阳光 2013-02-06
  • 打赏
  • 举报
回复
那条件应该讲:时间一与时间二相差范围在30天之内,时间一不能大于时间二,时间二不能超过今天。
日期从:<input id="date1" class="Wdate" type="text" onFocus="var date2=$dp.$('date2');WdatePicker({maxDate:'#F{$dp.$D(\'date2\')||\'%y-%M-%d\'}'})"/>至<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({onpicked:function(){date2.focus();},minDate:'#F{$dp.$D(\'date1\')}',maxDate: '#F{\'%y-%M-%d\'||$dp.$D(\'date1\',{d:30})}'})"/>
爱若如梦 2013-02-06
  • 打赏
  • 举报
回复
引用 7 楼 wusongping 的回复:
其时 这个算是 最 接近的了 <input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'date2\')}' ,minDate:'#F{$dp.$D(\'date2\',{d:-30})}'})" /> <font color="red">*</……
这样可以吗,这是终极武器了 function maxDateLimit() { var flag = "-"; var date1 = document.getElementById("date1").value; if(!date1) { var nowDate = new Date(); var year = nowDate.getFullYear(); var month = (nowDate.getMonth() + 1) > 9 ? (nowDate.getMonth() + 1) : "0" + (nowDate.getMonth() + 1); var day = nowDate.getDate() > 9 ? nowDate.getDate() : "0" + nowDate.getDate(); return year + flag + month + flag + day; } else { var date = new Date(date1); if(isNaN(date)) { alert("输入的日期格式错误"); } var date2 = new Date(date.valueOf()+ 30*3600*24*1000); //30代表不超过30天,可以换作变量 var nowDate = new Date(); return date2.valueOf()<nowDate.valueOf()?date2.toLocaleString():nowDate.toLocaleString(); } } </script> <input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'date2\')||\'%y-%M-%d\'}' ,minDate:'#F{$dp.$D(\'date2\',{d:-30})}'})" /> <input id="date2" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'date1\')}',maxDate: maxDateLimit()})" />
wusongping 2013-02-06
  • 打赏
  • 举报
回复
其时 这个算是 最 接近的了 <input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'date2\')}' ,minDate:'#F{$dp.$D(\'date2\',{d:-30})}'})" /> <font color="red">*</font>到<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'date1\')}',maxDate: '#F{$dp.$D(\'date1\',{d:30})||\'%y-%M-%d\'}'})" /> 就是上面3楼的答案, 出现的问题 只是 当 两个 input 的间隔 1个月 超过了 当前日期 结束日期控件 没有把 maxdate 设置为当前值,而是还是把 范围 扩大到 起始日期 30天 以后的 日期 列在可选范围之内 !
wusongping 2013-02-06
  • 打赏
  • 举报
回复
还是非常感谢你的回帖,你的代码 对于 先选择 后面的 这个 input 日期的话 前面一个 input 的日期是 在符合要求范围内可供选择的, 但是 如果 先选择了 前面那个 input 即起始 日期, 后面这个 input 的 日期选择范围 却是 超出了 一个月 这个时间间隔的。 比如 起始日期 选择了 2008-01-01 后面这个 最大可以选到 2013-02-06 实际上 我需要限制在 2008-02-01 这1个月间隔内! 不知道我表述是否清楚!
爱若如梦 2013-02-05
  • 打赏
  • 举报
回复
引用 楼主 wusongping 的回复:
实现功能: 两个input日期控件,用的my97,我想限制的是 两个选择的日期间隔为1个月 并且最大的日期不能超过当天,请问 my97 如何设置,麻烦朋友给出例子,感谢 或者有其他 好用的日期控件能实现这个功能的给下载地址也可以! 在线等!
设第一个id为date1,第二个id为date2 最大为今天,大概这样写就可以了。 <input id="date1" class="Wdate" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'date2\')}' ,minDate:'#F{$dp.$D(\'date2\',{d:-30})||\'%y-%M-%d\'}'})" /> <font color="red">*</font>到<input id="date2" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'date1\')}',maxDate: '#F{$dp.$D(\'date1\',{d:30})||\'%y-%M-%d\'}'})" />
功能相当强大 更人性化,更全面的功能 大部分日期控件都具备功能如:带时间显示,支持周显示,自定义格式,自动纠错,智能纠错,起始日期,操作按钮自定义,快速选择日期,支持多种调用模式等,My97DatePicker在这些方面做得更全面,更人性化,并且速度一流. 2.强大的日期范围限制功能 支持静态限制,动态限制,脚本自定义限制,以及无效天和无效日期功能,利用这样功能你可以任意定制不能选择的日期,这些日期即使毫无规律,毫无连续性,你也可以通过这些功能的组合使用轻松搞定. 3.自定义事件和丰富的API库 如果你需要做一些附加的操作,你也不必担心,日期控件自带的自定义事件可以满足你的需求.此外,你还可以在自定义事件中调用提供的API库来做更多的运算和扩展,绝对可以通过很少的代 码满足你及其个性化的需求. 4.多语言支持和自定义皮肤支持 通过lang属性,可以为每个日期控件单独配置语言,当然也可以通过WdatePicker.js配置全局的语言,皮肤也是一样,只要配置skin属性即可.这样一个页面中可以显示多种语言,多种皮肤的日期控件,更棒的是,他们之间的切换是无刷新的. 5.跨无限级框架显示和自动选择显示位置 无论你把日期控件放在哪里,你都不需要担心会被外层的iframe所遮挡进而影响客户体验,My97日期控件是可以跨无限级框架显示的,并且当控件处在页面边界是,它会自动选择显示的位置.此外你还可以使用position参数对弹出位置做调整.

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧