2017-12-14 19 views
0

をトリガしません。私は私のJSPにこのAUI日付ピッカーを追加しました:のLiferay 7日付ピッカーがのonChange

<aui:input 
    type="text" 
    id="myDate" 
    name="my-date" 
    value="2017-12-14" 
    placeholder="yyyy-mm-dd" 
    onChange="javascript:alert('date changed');"/> 

<aui:script> 
    AUI().use(
     'aui-datepicker', 
     function(A) { 
      new A.DatePicker(
       { 
        trigger: '#<portlet:namespace/>myDate', 
        mask: '%Y-%m-%d', 
        popover: { 
         zIndex: 1000 
        } 
       } 
      ); 
     } 
    ); 
</aui:script> 

を問題:ポップアップするカレンダーウィジェットを使用して日付を変更すると、警告が表示されません。

ウィジェットを無視して、キーボードを使用して手動で日付を変更すると、入力がフォーカスを失うと直ちに警告が正しく表示されます。

私は間違っていますか?
onChangeの方法は、日付が変更されたときはいつでも呼び出すことができます。マウスまたはキーボードを使用しますか? JSコールバックの定義の使用を述べたコメントで男として

Liferay AUI date picker

+1

「aui-datepicker」の 'selectionChange'イベントを使用しないのはなぜですか? –

+1

@EbrahimPasbaniをエコーするには、 'selectionChange'が正しい方法のように思えます。ここに例があります:https://alloyui.com/examples/datepicker。また、私の関連する答えをここでチェックアウトすることがあります:https://stackoverflow.com/questions/27153115/how-do-i-activate-a-yui-datepicker-only-by-a-seperate-icon-not-参照によって/ 27159395。 – stiemannkj1

答えて

2

。ドキュメントにはいくつかの例があります。

https://alloyui.com/examples/datepicker

あなたが本当にもそこのonChangeを持っているしたい場合は、JSコールバックコードから変更イベントをトリガすることができます。

<button class="btn btn-primary"><i class="icon-calendar icon-white"></i> Select the date</button> 

<script> 
YUI().use(
    'aui-datepicker', 
    function(Y) { 
    new Y.DatePicker(
     { 
     trigger: 'button', 
     popover: { 
      zIndex: 1 
     }, 
     on: { 
      selectionChange: function(event) { 
      console.log(event.newSelection) 
      } 
     } 
     } 
    ); 
    } 
); 
</script>