在Grails中添加时间控件标签
2012-12-03 17:14
176 查看
在Grails中添加时间控件标签,以下代码是防止标签.groovy文件中
然后在GSP中调用
class MyTagLib { static namespace = "my" /** * 该标签为更新预警所用,day month year 设定需要更新的时间 */ def needChangeTimePicker={attrs,body-> def name=attrs.name def format=attrs.format def value=attrs.value def precision=attrs.precision //year month day hour minute def day=attrs.day def month=attrs.month def year=attrs.year Calendar cad = Calendar.getInstance(); def i=10 if(!precision){ precision="day" } if(precision=="year"){ i=4 }else if(precision=="month"){ i=7 }else if(precision=="day"){ i=10 }else if(precision=="hour"){ i=13 }else if(precision=="minute"){ i=16 } if(!format){ format="yyyy-MM-dd" } if(day || month || year){ if(day){cad.add(Calendar.DAY_OF_MONTH, (int)day);} if(month){cad.add(Calendar.MONTH, month.toInteger());} if(year){cad.add(Calendar.YEAR, (int)year);} value=new java.text.SimpleDateFormat(format).format(cad.getTime()) }else{ value=new java.text.SimpleDateFormat(format).format(value) } out<<""" <input type='text' id='datepinker_id_${name}' name='datepinker_id_${name}' value='${value}' class='Wdate' onClick=\"WdatePicker({dateFmt:'${format}'})\" onchange='checkDate${name}()' readonly='true' /> <input type='hidden' id='${name}' name='${name}' value='date.struct' /> """ switch(i){ case 16: out<<"<input type='hidden' name='${name}_minute' id='${name}_minute' />\r\n" case 13: out<<"<input type='hidden' name='${name}_hour' id='${name}_hour' />\r\n" case 10: out<<"<input type='hidden' name='${name}_day' id='${name}_day' />\r\n" case 7: out<<"<input type='hidden' name='${name}_month' id='${name}_month'/>\r\n" case 4: out<<"<input type='hidden' name='${name}_year' id='${name}_year'/>\r\n" } out<<""" <script type="text/javascript" src="${request.contextPath}/js/datepicker/WdatePicker.js"></script> <script> function checkDate${name}(){ var s=document.getElementById('datepinker_id_${name}').value; //alert(s); var len=s.length; switch(${i}){ case 16:document.getElementById('${name}_minute').value=s.substr(14,2); case 13:document.getElementById('${name}_hour').value=s.substr(11,2); case 10:document.getElementById('${name}_day').value=s.substr(8,2); case 7:document.getElementById('${name}_month').value=s.substr(5,2); case 4:document.getElementById('${name}_year').value=s.substr(0,4); } } """ if(value){ out<<""" checkDate${name}(); """ } out<<""" </script> """ } }
然后在GSP中调用
<my:needChangeTimePicker month="2" name="needChangeTime" value="" />month=2是在今天的时间上加上2个月,其中日,年,都可以设定
相关文章推荐
- PB里添加控件里面添加OLE控件时,当点击到第二标签或者第三标签程序直接崩溃
- 在窗体上放置一个标签、一个treeviw控件。窗体打开时,动态为treeviw控件添加节点,选择某个节点后,标签上显示所选内容。
- Birt时间参数添加My97日历控件
- MFC入门学习之控件(4)标签控件List Control的添加和使用(上)
- 在文本框中添加时间控件
- React_Native倒计时控件,只需要添加一个结束时间
- script标签添加时间戳防止浏览器缓存
- My97 datepicker 日期控件添加时间自动选择 年龄,生肖,星座
- asp.net(C#) 动态添加非ASP的标准html控件(如添加Script标签)
- MFC入门学习之控件(6)标签控件List Control的添加和使用(下)
- jsp页面中实现时间相减,并且在最近添加的新闻后右上角添加标记(涉及struts2标签和jquey)
- c#datagridview中添加时间控件DateTimePicker
- 在PB里添加控件里面添加OLE控件时,当点击到第二标签或者第三标签程序直接崩溃
- 用后台代码动态为前台DIV添加标签,控件
- MFC入门学习之控件(5)标签控件List Control的添加和使用(中)
- 【ASP.NET】用C#动态添加非ASP的标准html控件(如添加Script标签)
- silverlight中为控件添加可以在标签中设置的属性
- dialog中添加时间控件
- ASP.net 页面添加时间选择控件
- C#-ListView控件中列添加控件ComboBox,控件TextBox,添加时间选择列DateTimePicker