1

我需要在 grails datepicker 中使用 onchange 事件,但简单地使用 onchange 事件在日期选择器中不起作用。

这是代码:

<td>g:datePicker name="A"precision="month"years="${(startDate.getAt(Calendar.YEAR))..
(EndDate?.getAt(Calendar.YEAR))}"  value="${FIRst}"</td>

我需要为上面的代码添加 onchange 事件。我该怎么办?

4

2 回答 2

1

我建议你使用 jquery 来做到这一点。因为 g:datepicker 会分成不同的部分,在你的情况下 2 选择(月份和年份)。IE:

$(document).ready(function() {
$('#A_month').live('change', function() {
 ...your code here....
});

$('#A_year').live('change', function() {
 ...your code here....
});
});
于 2013-02-01T06:48:18.940 回答
0

我们在我们的应用程序中遇到了类似的问题并使用了日历插件。除了允许 javascript onChange 之外,用户体验也更好。安装插件并使用它的 datePicker 标签,如:

<calendar:datePicker name="myDatePicker" dateFormat="%m/%d/%Y" value='${Date.parse("MM/dd/yyyy",myHistory?.myDate)}'  onChange="setMyDate(this.value);"/>

如果您不能使用该插件,则通过您自己的 taglib 渲染 g:datePicker,如下所示:

def customDatePicker = {
    def dateP = g.datePicker(name:'test')
    dateP = dateP.replaceAll("<select ", "<select onChange='javascript:alert(10000)' ")
    out << dateP
}
于 2013-02-01T06:54:26.850 回答