我将这个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
?
正如提到的评论中的人使用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>