之前写了一编文章关于jeesite日期选择的文章,测试没有测出什么问题,后来我再涉及这样的功能发现有些不足,当你选结束时间再选开始日期就有些问题,现在主要对之前不足进行更新,
使用jeesiter的属性都没有很好的支持 ,但后来发现jeesite也发现到这一点,所以它写出了日期控件供我们参考,
https://jeesite.gitee.io/front/my97/demo/index.htm
框架内部已帮我们引入这个控件,所以我们直接引用就可以了,
开始时间 <input value="${text(fzQrCodeTab.productionDate)}" type="text" name="productionDate" readonly="true" class="form-control Wdate" id="productionDate" οnclick="WdatePicker({maxDate:'#F{$dp.$D(\'expiryDate\',{d:-1});}'})"/>
结束时间
<input value="${text(fzQrCodeTab.expiryDate)}" type="text" name="expiryDate" readonly="true" class="form-control Wdate" id="expiryDate" οnclick="WdatePicker({minDate:'#F{$dp.$D(\'productionDate\',{d:1});}',dateFmt:'yyyy-MM-dd'})"/>
这里为什么使用value?因为我这里我需要回显的,而且直接使用name无法回显,而且格式没法展示所以还要加一个格式,所以,如果不需要加显下面代码可以直接不要
$(function () { $('#qrStatus').removeAttr('onclick'); document.getElementById('qrStatus').readOnly=true; var date = $("#productionDate").val(); if (date != '') { $("#productionDate").val(forDate(date)); } var date1 = $("#expiryDate").val(); if (date1 != "") { $("#expiryDate").val(forDate(date1)); } });
function forDate(time) { var date=new Date(time); var year=date.getFullYear(); var month= date.getMonth()+1<10 ? "0"+(date.getMonth()+1) : date.getMonth()+1; var day=date.getDate()<10 ? "0"+date.getDate() : date.getDate(); return year+"-"+month+"-"+day; }