问题情况:动态遍历后台返回的字段展示,返回类型为datetime时,点击输入框可选择日期,获取后点击外部或输入框,输入框中的值会变为当前日期,但value没变,且首次点击输入框会提示日期格式不合法,然后直接重置了我的值
原数值
点击后
过程:既然是日期不合法,那我就让日期合法不就好了
第一种方法是让后端直接改
第二种方法就是前端改
这是原来遍历的写法
lay('.year').each(function (e) {
laydate.render({
elem: this
, trigger: 'click'
});
});
这是修改后的写法,给他加上默认值即可
lay('.year').each(function (e) {
laydate.render({
elem: this
, trigger: 'click'
, value:$(this).val().substring(0,4) + '-' +$(this).val().substring(4,6)+ '-' +$(this).val().substring(6)
});
});
所以后续处理日期相关的数值时需要注意,默认情况下的日期格式是yyyy-MM-dd,日期初始化方法中判断原值不合法就会被重置成当前日期
坚持就是胜利!