【问题标题】:Datepicker doesn't hide after selecting date选择日期后日期选择器不隐藏
【发布时间】:2026-01-10 13:35:01
【问题描述】:

我想要做的是当我从日期选择器中选择年份时,选择器需要关闭。

以下是我实现的代码段。

 $('.bootstrap-tagsinput input[type="text"]').datepicker().on('changeDate', function()({
            minViewMode: 2,
            format: 'yyyy',
            endDate: '+0y',
            startDate: '2016',
            $(this).datepicker('hide');
            onSelect: function(dateText) {
            $('#yearPicker').tagsinput('add', dateText); 

          }
        });

这给了我一个名为

的控制台错误

Uncaught SyntaxError: Unexpected token (

谁能帮我解决这个问题? 谢谢。

【问题讨论】:

  • 这里的代码有误,请阅读文档如何将事件附加到日期选择器,选择日期时默认关闭日期选择器,

标签: jquery datetime datepicker jquery-ui-datepicker


【解决方案1】:

您的问题可能与您在这里混合两个阶段的事实有关:日期选择器的初始化(1)和添加的事件侦听器(2)。 'changeDate' 是一个事件。

(1) 你需要初始化你的日期选择器

$('.bootstrap-tagsinput input[type="text"]').datepicker({
        minViewMode: 2,
        format: 'yyyy',
        endDate: '+0y',
        startDate: '2016',
        onSelect: function(dateText) {
           $('#yearPicker').tagsinput('add', dateText); 
      }
    });

(2) 这部分可能没用,因为日期选择器应该在日期选择时默认关闭

$('.bootstrap-tagsinput input[type="text"]').on('changeDate', function(){
    $(this).datepicker('hide');
})

请详细阅读文档以更好地了解其工作原理。

【讨论】:

    【解决方案2】:

    试试这个方法..

    $(document).ready(function () {
    
        $('#example1').datepicker({
            format: "yyyy",
            autoclose: true
        });
        
        $('#example2').datepicker({
            format: "yyyy"
        }).on('change', function () {
            $('.datepicker').hide();
        });
    });
    <div class="container">
        <div class="hero-unit">
            <input type="text" placeholder="Sample 1: Click to show datepicker" id="example1">
        </div>
        <div class="hero-unit">
            <input type="text" placeholder="Sample 2: Click to show datepicker" id="example2">
        </div>
    </div>
    <script rel="javascript" type="text/javascript" href="js/jquery-1.11.3.min.js"></script>

    【讨论】:

      最近更新 更多