my97 WdatePicker 使用大全

来源:互联网 发布:linux vim 保存 编辑:程序博客网 时间:2024/03/29 08:13


  以下是my97日期选择置灰的一些小技巧,希望可以帮助大家!

 

当前以前和后一月

<input id="sdate" class="Wdate" type="text" onfocus="WdatePicker({minDate:'%y-%M-%d',maxDate:'%y-%M-#{%d+30}'})" value="<{if $smarty.post.time}><{$smarty.post.time}><{else}><{$default|date_format:"%Y-%m-%d"}><{/if}>" style="width: 100px;" name="time" realvalue=""/>s

 可以选择任何日期

  <input id="txtDate" type="text" onfocus="WdatePicker()" />

今天以前的日期

  <input type="text" onfocus="WdatePicker({maxDate:'%y-%M-#{%d}'})" />

 今天以后的日期

  <input type="text" onfocus="WdatePicker({minDate:'%y-%M-#{%d}'})" />

  上面设置今天以前和今天以后的日期用到的是maxDate和minDate,%y-%M-#{%d} 表示的是当天的日期,如果想今天以前或是今天以后的日期不包括今天,设置表达式中的d减去1或是加上1即可,如下:

  <!--今天以前的日期不包括今天-->

  <input type="text" onfocus="WdatePicker({maxDate:'%y-%M-#{%d-1}'})" />

  <!--今天以后的日期不包括今天-->

  <input type="text" onfocus="WdatePicker({minDate:'%y-%M-#{%d+1}'})" />

4 同样如果只能选择今天设置maxDate和minDate都为今天就行,不过这个不常用到

  <input type="text" onfocus="WdatePicker({maxDate:'%y-%M-#{%d}',minDate:'%y-%M-#{%d}'})" />

两个日期框,结束日期大于开始日期

  <input id="txtStartDate" type="text"

  onclick="WdatePicker({maxDate:'#F{$dp.$D(\'txtEndDate\',{d:-1})}'})" />

  <input id="txtEndDate" type="text"

  onclick="WdatePicker({minDate:'#F{$dp.$D(\'txtStartDate\',{d:1})}'})" />

  如果将结束日期框的onclick里的{d:1} 改成{d:0},就表示结束日期可以选择和开始日期同一天

 今天以前或以后N天的日期

  <input type="text"

  onfocus="WdatePicker({maxDate:'%y-%M-#{%d}',minDate:'%y-%M-#{%d-7}'})" />

  <!--选择今天以后7天的日期-->

  <input type="text"

  onfocus="WdatePicker({minDate:'%y-%M-#{%d}',maxDate:'%y-%M-#{%d+7}'})" />

 两个日期框,结束日期大于开始日期,并且都是今天以后的日期

  <input id="txtB" type="text"

  onclick="WdatePicker({minDate:'%y-%M-#{%d}',maxDate:'#F{$dp.$D(\'txtE\',{d:-1})}'})"/>

  <input id="txtE" type="text"

  onfocus="WdatePicker({minDate:'#F{$dp.$D(\'txtB\',{d:1})||\'%y-%M-#{%d+2}\'}'})"/>

 两个日期框,第一个选择后触发第二个弹出

  <input id="txtBegin" type="text" onfocus="var d5222=$dp.$('txtEnd');

  WdatePicker({onpicked:function(){txtEnd.focus();},maxDate:'#F{$dp.$D(\'txtEnd\')}'})" />

  <input id="txtEnd" type="text"

  onfocus="WdatePicker({minDate:'#F{$dp.$D(\'txtBegin\')}'})" />

还有些的功能比如给文本框加个日历小图标、禁止文本框输入、禁止日历控件清空等也是很常用的,代码如下:

  <!--给文本加上class=Wdate 文本框的右边就有日历小图标-->

  <input type="text" onfocus="WdatePicker()" />

  <!--禁止文本框输入-->

  <input type="text" onfocus="WdatePicker({readOnly:true})" />

  <!--禁止文本框输入-->

  <input type="text" onfocus="WdatePicker({isShowClear:false})" />

  <!--几种功能也能放到一起-->

  <input type="text" onfocus="WdatePicker({readOnly:true,isShowClear:false})" />

 

注:上面有涉及到开始日期和结束日期两个日期框的,文本框控件必须要有id,这个id函数里面会用到,如果您的开发中使用了Aspnet中的MasterPage,那么文本框的id在生成页面后会改变,类似于:ctl00_ContentPlaceHolder1_txtEndDate,如果还是用文本框本身的id是不会起作用的,做法是查看源文件将生成的id复制到函数里。