【问题标题】:g:datePicker with jquery UI datePickerg:datePicker 与 jquery UI datePicker
【发布时间】:2013-12-03 18:45:07
【问题描述】:

我正在使用 datePicker.js 来显示 grails datePicker。我有开始和结束日期

g:datePicker class='StartDatetime' precision='minute'

现在我正在尝试为 datePicker 设置最小和最大日期。将此代码置于就绪功能下不起作用。代码中是否还有其他地方我需要进行更改才能看到功能正常工作?

$("#StartDatetime").datepicker({
     onSelect: function (selected) {
         $("#EndDatetime_input").datepicker("option", "minDate", selected)
     }
 });

 $("#EndDatetime_input").datepicker({
     onSelect: function (selected) {
         $("#StartDatetime_input").datepicker("option", "maxDate", selected)
     }
 });

【问题讨论】:

  • 您是在尝试使用 Grails datepicker 还是 datepicker.js ?
  • 我正在使用 但要显示 datePicker 我使用 jquery-ui 选择器。

标签: grails datepicker jquery-ui-datepicker grails-plugin


【解决方案1】:

将 src/templates/scaffolding/renderEditor.template 中的 'renderDateEditor' 替换为以下代码:

 private renderDateEditor(domainClass, property) {
   def precision = (property.type == Date || property.type == java.sql.Date || property.type == Calendar) ? "day" : "minute";
   if (!cp) {
       return "<g:datePicker name=\"${property.name}\" precision=\"${precision}\" value=\"\${${domainInstance}?.${property.name}}\" />"
   } else {
       if (!cp.editable) {
           return "\${${domainInstance}?.${property.name}?.toString()}"
       } else {
           def out = new StringBuffer("")

           out << "<input type=\"text\" name=\"${property.name}_datepicker\" id=\"${property.name}_datepicker\" value=\"<g:formatDate date=\"\${${domainInstance}?.${property.name}}\" formatName=\"dateonly.date.format\" />\"/>"
           out << "<input type=\"hidden\" name=\"${property.name}_day\" id=\"${property.name}_day\" value=\"<g:formatDate date=\"\${${domainInstance}?.${property.name}}\" format=\"dd\" />\"/>"
           out << "<input type=\"hidden\" name=\"${property.name}_month\" id=\"${property.name}_month\" value=\"<g:formatDate date=\"\${${domainInstance}?.${property.name}}\" format=\"MM\" />\"/>"
           out << "<input type=\"hidden\" name=\"${property.name}_year\" id=\"${property.name}_year\" value=\"<g:formatDate date=\"\${${domainInstance}?.${property.name}}\" format=\"yyyy\" />\"/>"
           out << """<g:javascript>
                         \$(document).ready(function () {
                             \$("#${property.name}_datepicker").datepicker({
                                 dateFormat:'dd/MM/yy',
                                 onClose: function(dateText, inst) {
                                         var date = new Date(dateText.replace(/(\\d+).(\\d+).(\\d+)/, '\$3/\$2/\$1'));
                                         if (!isNaN(date)) {
                                             \$("#${property.name}_month").val(date.getMonth()+1);
                                             \$("#${property.name}_day").val(date.getDate());
                                             \$("#${property.name}_year").val(date.getFullYear());
                                         }
                                       },
                                 showAnim: "slide",
                                 showOptions: {direction: 'up'},
                                 showOn: "both",
                                 autoSize: true,
                                 constrainInput: true,
                                 showButtonPanel: true
                             });
                         })
                     </g:javascript>"""
           return out.toString()
       }
   }}

【讨论】:

    猜你喜欢
    • 2014-04-12
    • 1970-01-01
    • 2010-10-18
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多