0

嗨,我有自定义日期选择器,我想计算一年的 onchange 事件。

下面的代码不适用于 onchange。我也尝试过 onchange 并像这样调用 javasript 函数,onchange='toggleTextAreaForTypeOfDischarge(name);'但结果搞砸了。就像它在年度下拉人口中调用'toggleTextAreaForTypeOfDischarge() 一样。所以如果有100年,它会调用它100次,它不会在实际选择年份时调用它。

<g:icmDatePicker name="enteredIntoServiceDate" precision="day" default="none" value="${activeReserveDutyServiceInstance?.enteredIntoServiceDate}" noSelection="['': 'Select...']"   years="${dateRange }" yearSortOrder="desc"onchange="${remoteFunction(action:'getCityAndState', controller:'postcode',params:'\'zipcode=\' + this.value, onSuccess:'getCityAndState(data,\'i11\',\'i12\')')}"/>

我能够使活动像这样进行:

<script type="text/javascript">
$(document).ready(function(){
    $("select[id ^= enteredIntoServiceDate_year], select[id ^= enteredIntoServiceDate_month], select[id ^= enteredIntoServiceDate_day]").change(function (){
       checkPeriodOfwarAccdgToDate()
    });


 });

function checkPeriodOfwarAccdgToDate()
{
    alert("test")

}
</script>

但我的问题是我需要从那里调用控制器和操作,以便我可以在后面的代码中进行计算,所以我将它插入到 checkPeriodOfwarAccdgToDate 函数中但不起作用。

$.ajax({
        alert("test")
           url: 'Postcode/GetCityAndState',
           type: 'POST',
           data: form,
        dataType: "text",
           success: function(obj){
                    alert(obj);
           }    
        });

任何人都可以指出我如何在此日期选择器的 onchange 事件中调用控制器中的动作。谢谢。

4

1 回答 1

0

我认为最简单的方法是使用在 on change 事件中执行的 remoteLink 函数。

在这里你可以看看remoteLink:

remoteLink Grails 文档

在那里,您可以找到一种在 jsp 上使用它的简单方法。

my link = <%= remoteLink(action: 'show', id: 1,
              update: 'success', onFailure: 'showError();')
              { "this is the link body" } %>

希望它对您有所帮助或提示您如何继续前进。

祝你好运!

于 2012-11-07T11:19:58.477 回答