最近项目中使用到了laydate.js日期插件,用于获取日期然后搜索输入日期之间的数据。
需求加入了俩个日期插件之间输入,当第一个日期插件选择日期后,第二个日期插件必须根据第一个所选择的日期对自己的范围进行限制,反之亦是。
//日期初始化 initDate: function () { var mindate = laydate.render({ elem: ".mindate", type: 'datetime', max: ConfirmOrderList.nowTime, done: function (value, date) { if (value != '') { date.month = date.month - 1; maxdate.config.min = date; } } }) var maxdate = laydate.render({ elem: ".maxdate", type: 'datetime', max: ConfirmOrderList.nowTime, done: function (value, date) { if (value != '') { date.month = date.month - 1; mindate.config.max = date; } } }) }
当完成这个需求后,点击搜索发现laydate.render是无法重新渲染的,最后使用了讲元素删除在重新加载的方式才解决。= =
againInitDate: function () { $(".mindate").remove(); $(".maxdate").remove(); $(".minSpan").html("<input type='text' class='date width160 mindate' readonly name='name' id='startDate' placeholder='选择开始日期' value='' />") $(".maxSpan").html("<input type='text' class='date width160 maxdate' readonly name='name' id='endDate' placeholder='选择结束日期' value='' />") ConfirmOrderList.initDate(); }