今天第一次接触jquery-weui,不太了解用法,然而官方文档写的也很简略,只好打开源代码进行研究,我想要的是设置开始日期大于当前日期,然后在源码中发现有min这个默认为undefined的属性,于是在设置
启动$("#starttime").datetimePicker()的时候里面加了一个参数param,一般来说这种参数都是json格式,于是
var nTime = new Date(); var format = nTime.getFullYear() + "-" + (nTime.getMonth()+1) + "-" + nTime.getDate() + " " + (nTime.getHours()) + ":" + nTime.getMinutes(); var param = {'min':format}; $("#starttime").datetimePicker(param);
设置完开始日期之后就是动态设置截止日期,要让截止日期大于开始日期,我在<input id="starttime">里面添加了onChange="setMinTime()"这个事件,修改的时候就获取$("#starttime")的值,再进行拼接字符串获得我需要的日期格式,完成进行测试才发现和自己想象的完全不同,先贴一下之前的代码
$("#endtime").datetimePicker({'min':year + "-" + month + "-" + day + " " + hour + ":" + minute});
反复调试发现方法是进入了的,这句话也是执行了的,怎么就不能重新设置呢?而且奇怪的是,min这个属性只被第一次赋值了,想了好久突然想到可能是初始化的时候就已经确定了不能修改,这个也解释了为什么这个的值和第一次相同,抱着试一试的心态,我只好用笨办法
$("label[for='endtime']").parent().siblings("input").remove(); $("label[for='endtime']").parent().parent().append('<input class="weui_input" id="endtime" name="endtime" value="" placeholder="请选择结束日期"/>'); $("#endtime").datetimePicker({'min':year + "-" + month + "-" + day + " " + hour + ":" + minute});
结果这样先删除,再添加,最后设置的方法真的成功了~原来初始化后就不能改变其属性了,也不知道是不是自己没有找到正确的打开方式,如果有希望留言告知