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);
           }    
        });

この日付ピッカーの変更時にコントローラーからアクションを呼び出す方法を教えてください。ありがとう。

4

1 に答える 1

0

最も簡単なアプローチは、onchangeイベントで実行されるremoteLink関数を使用することだと思います。

ここでは、remoteLinkを見ることができます。

remoteLinkGrailsのドキュメント

そこで、jspでそれを使用する簡単な方法を見つけることができます。

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

それがあなたに助けになるか、あなたに続ける方法のヒントを与えることを願っています。

幸運を!

于 2012-11-07T11:19:58.477 に答える