javascript - 在多个 Pikoday 日历选择器上绑定(bind)触发器

标签 javascript jquery datepicker calendar pikaday

好的,我在页面上有一些输入字段。我需要向其中添加一个日期选择器。我必须使用输入字段本身旁边的小日历图标。

我正在使用 Pikaday 作为我的日历,并且应用了一个触发元素。然而,它似乎不起作用。正如您从下面的代码中看到的,我正在找到相关的 datepicker-button-element,并且我将其用作触发器。

预期结果: http://dbushell.github.io/Pikaday/examples/trigger.html

HTML:

<div class="datepicker-able">
    <input type="text" class="datepicker number1"> 
     <a href="#" class="datepicker-button">button1</a>
</div>

<div class="datepicker-able">
    <input type="text" class="datepicker number2"> 
     <span class="datepicker-button">button2</a>
</div>

Javascript:

$(document).ready(function() {
    $('.datepicker').each(function(index, element) {
        $(element).pikaday({
            field: element,
            trigger: $(element).closest('div').find('.datepicker-button').get(0), // <<<<
            firstDay: 1,
            //position: 'top right',
            minDate: new Date('1900-01-01'),
            maxDate: new Date('2015-10-15'),
            format: 'DD.MM.YYYY',
            defaultDate: new Date('1980-01-01'),
            yearRange: [1900,2020],
        });
    });
});

最佳答案

我猜您可能对其中一个包含有问题,可能是正在使用旧版本的 pikaday/包含的顺序,因为当我尝试它时它工作正常。另外,由于您知道触发按钮位于输入旁边,因此您可以使用 .next() 选择器。

看一下下面的工作示例。

$(document).ready(function() {
    $('.datepicker').each(function(index, element) {
        $(element).pikaday({
            field: element,
            trigger: $(element).next('.datepicker-button')[0],
            firstDay: 1,
            //position: 'top right',
            minDate: new Date('1900-01-01'),
            maxDate: new Date('2015-10-15'),
            format: 'DD.MM.YYYY',
            defaultDate: new Date('1980-01-01'),
            yearRange: [1900,2020],
        });
    });
});

这里是a fiddle to demo一样!

关于javascript - 在多个 Pikoday 日历选择器上绑定(bind)触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31008689/

相关文章:

c# - JQuery Facebox 插件 : Get it inside the form tag

java - 如何使用 spring 和 jquery 设置真正的跨域策略

javascript - 使用 jQuery 在悬停时更改文本

javascript - 为什么 md-calendar 指令初始化为错误的日期 AngularJS?

javascript - 是否可以停止 JavaScript 的执行?

javascript - 使用 javascript (thunderbird) 获取消息正文

javascript - 指示浏览器仅从一个目录中选择

javascript - 将 Prop 从 child 传递给 parent 不起作用(React)

datepicker - SilverStripe 3 GridFieldEditableColumns 日期字段日历

datepicker - Uncaught Error : Unexpected directive 'MatFormField' imported by the module 'AppModule' . 请添加 @NgModule 注释