选择日期后,日期选择器不会隐藏

时间:2018-10-10 11:06:06

标签: jquery datetime datepicker jquery-ui-datepicker

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

以下是我已实现的代码段。

 $('.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); 

          }
        });

这给我一个控制台错误

  

未捕获的SyntaxError:意外令牌(

有人可以帮我解决这个问题吗? 谢谢。

2 个答案:

答案 0 :(得分:1)

您的问题可能与以下事实有关:您在此处混合了两个阶段:datepicker(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');
})

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

答案 1 :(得分:0)

尝试这种方式。

$(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>