有关97MyDatePicker的问题,求大神帮忙

auleit 2015-07-01 10:45:16

//日期计算事件
function checkDate(){
var year = $("#p_start_date").val();
var startdateStr = $("#p_start_date").val();
alert("1===="+startdateStr);
var startdate = getDate(startdateStr);
alert("2===="+startdate);
if(startdate == ''){
alert("请选择开始时间!");
}
var enddate = DateAdd("y",parseInt(year),startdate);
var enddateStr = enddate.format('yyyy-MM-dd hh:mm');
$("#p_end_date").val(enddateStr);

}


如图,楼主写了一个简单的关于年的日期计算事件,这个事件有很多动作可以触发,唯独在97MyDatePicker选择后触发不了,用onblur获取到startdateStr的值是空的,用onchange又触发不了方法。以前也因为这个问题烦恼过,97MyDatePicker为什么触发不了onchange事件?????
...全文
243 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
auleit 2015-07-01
  • 打赏
  • 举报
回复
引用 2 楼 qq_19965967 的回复:
我以前在做表单validate验证的时候遇到过一个问题,就是选择了日期后,虽然日期显示在了input标签里,但是验证还是显示“请选择日期”,我研究了一下,发现validate验证是根据blur或者change事件来判断的,当click input标签的时候,弹出日期选择插件,这时候选择日期,焦点就变成了日期选择插件,就是这时候input的blur事件已经执行完了。选择日期后,插件做的只是把这个选择的值赋给input,但是并没有触发input任何change或者blur事件,所以validate验证不到。后来我在日期插件后面写了一句话,就是当赋值给input后,给这个input手动触发blur事件,如$(input).blur().就解决了。 感觉楼主说的是跟我这个差不多的问题
听你说的这个原理再结合我遇到的状况,真的豁然开朗,多谢,下午试一下
chanel_1 2015-07-01
  • 打赏
  • 举报
回复
我以前在做表单validate验证的时候遇到过一个问题,就是选择了日期后,虽然日期显示在了input标签里,但是验证还是显示“请选择日期”,我研究了一下,发现validate验证是根据blur或者change事件来判断的,当click input标签的时候,弹出日期选择插件,这时候选择日期,焦点就变成了日期选择插件,就是这时候input的blur事件已经执行完了。选择日期后,插件做的只是把这个选择的值赋给input,但是并没有触发input任何change或者blur事件,所以validate验证不到。后来我在日期插件后面写了一句话,就是当赋值给input后,给这个input手动触发blur事件,如$(input).blur().就解决了。 感觉楼主说的是跟我这个差不多的问题
tony4geek 2015-07-01
  • 打赏
  • 举报
回复
是不是和他的事件冲突了。

87,885

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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