как сделать, чтобы в теге select по умолчанию были указаны текущий год и текущий месяц?

#grails #select

#grails #выберите

Вопрос:

у меня есть 2 тега выбора как,

  <td><g:select name="Year" from="${2004..2014}"  optionValue="${Year}" /></td>
  <td><g:select name="Month" from="${['January','February','March','April','May','Jun','July','August','September','October','November','December']}"  optionValue="${month}"  /></td>
  

Теперь я хочу, чтобы в gsp он отображал мне текущий год и месяц в поле выбора года и месяца вместо отображения первого года и месяца в списке..

как этого добиться? .. может ли кто-нибудь ответить мне, пожалуйста.

заранее благодарю Laxmi

Ответ №1:

Попробуйте это

 <g:set var="months" value="${new java.text.DateFormatSymbols().months}"/>
<g:set var="today" value="${new Date()}"/>

<td><g:select name="Year" from="${2004..2014}" value="${today[Calendar.YEAR]}" /></td>

<td><g:select name="Month" from="${months as List}" 
    value="${months[today[Calendar.MONTH]]}"  /></td>
  

Комментарии:

1. спасибо .. Я использовал его для отображения только месяца .. для года я использовал дату picker..as,

2. ‘<td><g:DatePicker name=»myDate» value=»${new Date()}» precision=»year» years=»${2004 ..2014 }» noSelection=»[«:’-Choose-‘]»/> </td>’

Ответ №2:

В контроллере создайте дату:

 def year = new Date().format("yyyy")
def month = new Date().format("MM")
[year:year, month:month]
  

Должны быть указаны текущий месяц и год.