Grails: Как получить даты в g: textField из календаря? - PullRequest
1 голос
/ 12 июля 2010

У меня есть четыре поля ввода из фильтра поиска. Первоначально я использовал g:datePicker, но это было не совсем то, что я хотел, было слишком медленно выбирать дату из выпадающих списков, поэтому я решил, что лучше использовать текстовое поле простого грааля и рядом с ним изображение календаря вызовет календарь. Я пытался использовать календарь YUI из плагина YUI, но не мог заставить его работать правильно при форматировании даты.

Есть идеи как это сделать ??

Например, если вы думаете об этом, это просто изображение календаря рядом с текстовым полем, которое запускает календарь и помещает дату щелчка в желаемом формате в текстовое поле, но по какой-то причине сложнее этого.

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 21 января 2011

Первоначально мы использовали плагин Grail-UI для средств выбора даты и тому подобного, но обнаружили, что некоторые действия оказываются более сложными, чем мы надеялись. Затем мы нашли jQuery-UI и с тех пор сделали ход для всех наших виджетов UI. Я очень рекомендую указатель даты jQuery-UI как лучший маршрут, чем текстовые поля или выпадающие списки.

0 голосов
/ 13 июля 2010

Я не совсем уверен, что понимаю вашу проблему с плагином YUI и форматированием даты.Если вы углубитесь в это, мы могли бы помочь.

Однако я бы порекомендовал использовать плагин GrailsUI , который зависит от плагина YUI.*

grails install-plugin grails-ui

Просмотр

По вашему мнению, убедитесь, что вы включили соответствующие компоненты в раздел head, например:

<head>
  ...
  <gui:resources components="datePicker"/>
  ...
</head>

Также измените тег <body> на <body class="yui-skin-sam"> если вы хотите применить стили (обложку) по умолчанию.

Тогда вы сможете использовать:

<gui:datePicker id="myDateValue" value="${new Date()}" />

или если вы хотите установить формат даты:

<gui:datePicker id="myDateValue" formatString="yyyy/MM/dd HH:mm:ss" value="${new Date()}" />

Контроллер

При использовании значения из datePicker в контроллере его следует рассматривать как строку, то есть

Date.parse("yyyy/MM/dd HH:mm:ss", params.myDateValue)
...