AUI datepicker:在元素焦点上弹出datepicker

时间:2014-12-03 05:52:24

标签: liferay alloy-ui liferay-aui

如何让AUI-datepicker弹出元素的焦点。目前它只会在点击元素时弹出。

这是代码

脚本:

 YUI().use('aui-datepicker',
  function(Y) {
    new Y.DatePicker(
      {
        trigger: '.date-selector',
        popover: {
          zIndex: 1
        },
      }
    );
  }
);

和标记

<aui:input id="startDate" name="startDate" cssClass="date-selector" label="startDate">

还有一件事我怎么能约会?

2 个答案:

答案 0 :(得分:0)

试试这样的

<aui:input name="taskStartDate" autocomplete="off" cssClass='font-size' id="taskStartDate"  onFocus="onClickOfStartDate();" required="true" inlineLabel="true" label=" "/>    

<aui:script>
    function  setactualStartDate(){

        AUI().use('aui-datepicker', function(A) {
            var simpleDatepicker1 = new A.DatePicker({
                trigger: '#<portlet:namespace />taskActualStartDate', 
                mask: '%Y-%m-%d',
                calendar: {
                    dateFormat: '%Y-%m-%d',
                },
            }).render('#<portlet:namespace />taskactualStartDatePicker');
        });
    }

    function onClickOfStartDate(){
        setStartDate();
    }
</aui:script>

答案 1 :(得分:0)

Datepicker弹出窗口由DatePickerPopover类aui-datepicker模块处理。在datepicker类中有show()方法可以打开弹出窗口。

<input id="startDate" name="startDate" class="date-selector" onfocus="openDatePicker();">
<script>
    var datePicker;
    YUI().use('aui-base','aui-datepicker', function(Y) {
        datePicker = new Y.DatePicker({
            trigger: '#startDate',
            popover: {
                zIndex: 10,
            },
            calendar: {
                maximumDate: new Date()
            }
        });
    });
    function openDatePicker() {
        datePicker.getPopover().show();
    }
</script>

可以通过添加maximumDate和minimumDate属性来定义日期。