因为最近做周报表的功能 用到了需求选择周 原来的My97DatePicker插件根据网络资料只能支持到选择周 但是由于201753这样的周格式 插件是不支持的
导致一些bug 寻找到一个笨方法希望能帮助到一些人 如有更好的方法请留言告诉我 谢谢了
首先周的格式不像其他格式有支持 直接修改dateFmt:'yyyy-MM-dd'
需要添加一个js
<input id="d120" type="text" onfocus="WdatePicker({maxDate:'#F{$dp.$D(\'d122\')}',isShowWeek:true,onpicked:funccc,errDealMode:3})"/>
function funccc(){
$dp.$('d121').value=$dp.cal.getP('y')+$dp.cal.getP('W','WW');
}
这样虽然会显示出 201753这样的 xxxx年xx周的格式 但是会有一个bug就是因为这样的格式插件不支持 再次点击文本框会无法关闭插件
所以我想到的是 将这个文本框放在最上层 并且隐藏 将得到的周格式赋给底下的文本框 其实上层的格式是默认的 dateFmt:'yyyy-MM-dd' 并且隐藏
以下是我的代码 希望对大家有帮助
<div class="f-fl" style="position:absolute;">
<input name="starttime1" id="d120" type="text" style="width:192px;background: #ffffff;position:relative;left:0;border: 0;z-index:99;opacity: 0;" onfocus="WdatePicker({maxDate:'#F{$dp.$D(\'d123\')}',isShowWeek:true,onpicked:funccc,errDealMode:3})" class="u-ipt f-fl form form-w" value="$!{beginning1}"/>
<input name="starttime" id="d121" type="text" style="width:192px;position:relative;left:-213px;z-index:9;" class="u-ipt f-fl form form-w" value="$!{beginning}"/>
</div>
function funccc(){
$dp.$('d121').value=$dp.cal.getP('y')+$dp.cal.getP('W','WW');
}