Liferay 7日期选择器不会触发onChange

问题描述 投票:0回答:1

我将这个AUI日期选择器添加到我的JSP:

<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

Liferay AUI date picker

liferay onchange liferay-7 liferay-aui
1个回答
2
投票

正如提到的评论中的人使用js回调定义。文档中有几个例子。

https://alloyui.com/examples/datepicker

如果你真的想在那里使用onChange,你可以从js回调代码触发change事件。

<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>
© www.soinside.com 2019 - 2024. All rights reserved.