您的位置 首页 > 数码极客

如何将三个textbox的值赋值给datetime的年份

进公司上班有一个月了,公司的项目界面都是用easyui做的,这里总结一些遇到的easyui插件的问题,方便以后用到时可以参考。本次就先说说easyui的datetimebox插件。

1.多个时间输入框,后面的时间一次比前一个输入框时间大。如:time1<time2<time3.时间不正确时,会返回false,同时会有提示。

如下图:

代码如下:HTML代码:


  1. <td align="right" style="width:20%;">时间1:</td>
  2. <td>
  3. <input type="text" id="time1" style="width: 195px" required="true" editable="false"
  4. class="easyui-datetimebox"/>
  5. </td><br/>
  6. <td align="right" style="width:20%;">时间2:</td>
  7. <td>
  8. <input type="text" id="time2" style="width: 195px" required="true" editable="false"
  9. validType="TimeCheck['time1']" invalidmessage="time2要大于time1"
  10. class="easyui-datetimebox"/>
  11. </td><br/>
  12. <td align="right" style="width:20%;">时间3:</td>
  13. <td>
  14. <input type="text" id="time2" style="width: 195px" required="true" editable="false"
  15. validType="TimeCheck['time2']" invalidMessage="time3要大于time2"
  16. class="easyui-datetimebox"/>
  17. </td>

js代码:


  1. <script type="text/javascript">
  2. $.extend($.,{
  3. TimeCheck:{
  4. validator:function(value,param){
  5. var s = $("input[name="+param[0]+"]").val();
  6. //因为日期是统一格式的所以可以直接比较字符串 否则需要Da(_date)转换
  7. return value>=s;
  8. },
  9. message:'非法数据'
  10. }
  11. });
  12. </script>

注释:这种方法有个弊端,就是如果先输入后面time2的日期,在输入前面time1的日期,并且time2<time1的话,不会有提示,但是提交表单的时候,会返回false。

2.上面一个年份输入框,选择一个年份,下面输入框的年份必须与上面所选年份相同。如图:

HTML代码:


  1. <td align="right" style="width:20%;">年 份:</td>
  2. <td>
  3. <select id="year" style="width:195px;" class="easyui-combobox" panelHeight="auto" editable="false">
  4. <option value="2014">2014</option>
  5. <option value="2015">2015</option>
  6. <option value="2016">2016</option>
  7. </select>
  8. </td><br/>
  9. <td align="right" style="width:20%;">时间1:</td>
  10. <td>
  11. <input type="text" id="time1" validType="TimeCheck" invalidMessage="所选时间年份必须与所选年份相同" style="
  12. width: 195px" required="true" editable="false" class="easyui-datetimebox"/>
  13. </td><br/>
  14. <td align="right" style="width:20%;">时间2:</td>
  15. <td><span style="font-family: Arial, Helvetica, sans-serif;"><input type="text" id="time2" validType="TimeCheck" invalidMessage="所选时间年份必须与所选年份相同" style="width: 195px" required="true" editabl="false" class="easyui-datetimebox"/></td></span>
  1. js代码:
  2. <script type="text/javascript">
  3. $.extend($.,{
  4. TimeCheck:{
  5. validator:function(value,param){//value是所选文本的值,字符串类型
  6. var y=$('#year').combobox('getValue').valueOf();//取出下拉框的值
  7. var time=new Date(Da(/-/g, "/")));//将文本框自带的值(字符串)转换成Date类型
  8. var t=().valueOf(); //取得年份
  9. return t==y;
  10. },
  11. message:'选择时间年份必须与提案所在时间一致'
  12. }
  13. });
  14. </script>

看下面代码的结果,如图,value和param的值。


  1. $.extend($.,{
  2. TimeCheck:{
  3. validator:function(value,param){
  4. con(value);
  5. con(param);
  6. con(param[0]);
  7. }
  8. }
  9. });

<input class="easyui-datetimebox" type="text" id="beginDate" name="beginDate" validType="TimeCheck['a1','a2']" style="width: 195px" required="true" editable="false"/>

注释:HTML中的invalidMessage="所选时间年份必须与所选年份相同" 是当输入的数据不合法是要显示的信息,如果没有ivalidMessage,就会显示js中的message:‘选择时间年份必须与提案所在时间一致’,如果两者都有的话,会显示HTMl中的提示信息。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何将三个textbox的值赋值给datetime的年份”边界阅读