首页 > 解决方案 > jQuery datepicker 在点击时不显示日历

问题描述

我在标题中有这段代码:

$(function($)
{
    $.datepicker.regional.nl = {
        closeText: 'Sluiten',
        prevText: 't',
        nextText: 'u',
        currentText: 'Vandaag',
        monthNames: ['Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'],
        monthNamesShort: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
        dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
        dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'],
        dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
        weekHeader: 'Wk',
        dateFormat: 'dd-mm-yy',
        firstDay: 1,
        isRTL: false,
        showMonthAfterYear: false,
        yearSuffix: ''
    };
    $.datepicker.setDefaults($.datepicker.regional.nl);
});

$(function()
{
    $( '#FormContainer' ).on( 'click focus', '.datepicker, .future-datepicker', function()
    {
        var el = $( this );
        if( el.attr( 'class' ) === 'datepicker' ){
            el.datepicker({ 
                maxDate: new Date,
                dateFormat: 'yy-mm-dd'
            });
        }else if( el.attr( 'class' ) === 'future-datepicker' ){
            el.datepicker({ 
                minDate: 0,
                dateFormat: 'yy-mm-dd'
            });
        }
    });
});

当 .datepicker-element 通过单击获得焦点时,它不会显示日历,而是显示如下图所示的列表。当它通过 TAB 键获得焦点时,它会显示一个适当的日历。当我单击它时,我该怎么做才能获得相同的结果?

在此处输入图像描述

标签: jqueryjquery-uidatepicker

解决方案


问题原来很简单。当我单击输入字段时,浏览器会显示许多自动完成选项。日历显示在自动完成选项下方。解决方案是将 autocomplete="off" 添加到输入字段的 html 中。


推荐阅读