Grails:如何在输入更改时触发提交或调用操作

时间:2015-10-12 08:53:54

标签: grails

我正在处理的页面涉及一个表和日期选择器。如果我更改日期的值,它应该将日期传递给索引操作并从DB重新查询。并显示来自DB的新查询数据。换句话说,datepicker用作过滤器。

我为datepicker创建了一个更改事件,如果数据被更改,这将触发对index的ajax调用。它能够获得正确的数据,但无法正确显示。 Grails返回整个页面。它不会更新页面。

这是我的控制器:

def index() {

    def currentCompany = sessionService.company
    def Long countryId = params.countryId ? params.countryId as Long : currentCompany.countryId;

    java.text.DateFormat format = new java.text.SimpleDateFormat("dd/MM/yyyy");

    Date startDateValue = (params.startDate == null || params.startDate.isEmpty() ) ? null : format.parse(params.startDate)
    Date endDateValue = (params.endDate == null || params.endDate.isEmpty() ) ? null : format.parse(params.endDate)

    def exchangeRateList = exchangeRateService.getFilteredExchangeRate(countryId, startDateValue , endDateValue)
    def currencyList = cacheService.currencies

    params.max = 10
    params.countryId = countryId
    respond ("", model : [
                    exchangeRateInstanceList : ListUtil.list(exchangeRateList, params),
                    exchangeRateInstanceCount : exchangeRateList.size(),
                    currencyInstanceList : currencyList
            ]);
}  

你能告诉我如何在使用Grails更改输入测试时触发对索引操作的调用吗?

1 个答案:

答案 0 :(得分:0)

您可以使用remoteFunction从控制器运行操作:http://grails.github.io/grails-doc/2.4.4/ref/Tags/remoteFunction.html