2

我正在检查Liferay 网站的 Alloy UI 日期选择器。

给定示例中的问题是没有选择选项。如果我的用户的出生日期是 70 年代,那么用户必须多次单击后退按钮。

来自上述链接的 aui datepicker

这对用户来说不是一个快乐的场景。如何在此处将我的 AUI javascript 编辑为 jquery 给出的月份和年份选项

4

2 回答 2

0

我假设您在这里使用的是 AlloyUI 1.5,因此我建议您使用该组件,但将您不需要DatePickerSelect的元素隐藏在. 假设您只想要年份下拉菜单,您可以隐藏月份和日期下拉菜单。我在这里创建了一个可运行的片段示例:selectdisplay: none;

AUI().use('aui-datepicker', function (A) {
    var datePicker = new A.DatePickerSelect({
        dayNode: '#day',
        monthNode: '#month',
        yearNode: '#year',
        calendar: {
            dateFormat: '%m/%d/%Y'
        },
        render: true
    });

    // Working around the fact that the calendar does not get updated
    // when a new year is selected:
    var yearNode = A.one('#year');
    yearNode.on('change', function(event) {
        datePicker.calendar.set('currentYear', yearNode.get('value'));
        var date = datePicker.calendar.date;
        datePicker.calendar.clear();
        datePicker.calendar.date = date;
    });
});
<script src="http://cdn.alloyui.com/1.5.1/aui/aui-min.js"></script>
<link href="http://cdn.alloyui.com/1.5.1/aui-skin-classic/css/aui-skin-classic-all-min.css" rel="stylesheet">

<div id="datePicker">
    <select id="month" style="display: none;">
        <option></option>
    </select>
    <select id="day" style="display: none;">
        <option></option>
    </select>
    <select id="year">
        <option></option>
    </select>
</div>

于 2015-01-30T20:03:14.990 回答
0

AUI 元素:

 <aui:input name="dateOfBirth" cssClass="dob" id="dateOfBirth" title="Date Of Birth" placeholder="dd/mm/yyyy" readonly="true" >

脚本:

$(".dob").datepicker({ dateFormat: "dd/mm/yy",minDate: new Date(), changeYear: true,changeMonth: true,yearRange: "-0:+10y", onClose: function(date, datepicker) {$(".dob").focus(); }});
于 2020-03-12T07:17:48.017 回答