javascript - 多个引导日期选择器在同一页面上具有扩展形式

标签 javascript jquery html datepicker

在同一页面上添加更多日期选择器可能是个老问题了。但我这里有一个不同的案例。

使用过的图书馆 https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js

这是datepicker

的脚本
<script>
        $(document).ready(function () {
            $('.datepicker').datepicker({
                keyboardNavigation: false,
                forceParse: false,
                todayHighlight: true
            });
        });
    </script>

现在多个 date-picker 可以在同一页面上正常工作。

{!! Form::text('expiry_date', null, ['data-format'=>'D, dd MM yyyy', 'class'=>'form-control datepicker', 'placeholder'=>'yyyy-mm-dd']) !!}
{!! Form::text('expiry_date', null, ['data-format'=>'D, dd MM yyyy', 'class'=>'form-control datepicker', 'placeholder'=>'yyyy-mm-dd']) !!}

但是这里的第二个datepicker来自extending form script

<script>
        let counter = 1;
        let limit = 10;

        function addInput(divName) {
            if (counter === limit) {
                alert("You have reached the limit of adding " + counter + " inputs");
            } else {
                let newdiv = document.createElement('div');
                newdiv.innerHTML = '<div class = "col-md-12"> <h4>Package ' + (counter + 1) + ' </h4> ...<div class="col-sm-6"><div class="form-group"><div id="date-popup2" class="input-group date">{!! Form::text("expiry_date", null, ["data-format"=>"D, dd MM yyyy", "class"=>"form-control datepicker", "placeholder"=>"yyyy-mm-dd"]) !!}<span class="input-group-addon"><i class="fa fa-calendar"></i></span></div></div></div>...';
                document.getElementById(divName).appendChild(newdiv);
                counter++;
            }
        }
    </script>

当第二个 datepicker 填充时它不起作用。任何想法。

最佳答案

这是因为您在呈现第二个日期选择器对象之前启动了 .datepicker()

也许尝试类似这样的事情:

$(function() {
  $(this).datepicker();
  $('#date').append('<p>Other Date: <input onfocus="dateme(this);" type="text" class="datepicker"></p>')
});

function dateme(x){
  $(x).datepicker();
}

只是为了解释这里发生了什么,我附加了一个新的日期选择器输入,它有一个 onfocus="" 属性,它调用一个包含 .datepicker 函数的函数当输入处于焦点时。

Codepen 示例:https://codepen.io/lthomas122/pen/XQyOMm

关于javascript - 多个引导日期选择器在同一页面上具有扩展形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55846452/

相关文章:

html - ng-bootstrap 模态边框半径

javascript - 我没有被推送到数组,而是收到错误

javascript - 使用列表从库中获取 react 组件

javascript - 如何在不改变 Redux 的情况下更改嵌套对象

javascript - 在 ASP.NET MVC 中加载 JavaScript 的最佳方法是什么?

javascript - 在某些事件上动态创建与之关联的 html 元素和对象

javascript - window.crypto.subtle.encrypt 用于 AES-CBC 的填充是什么

Javascript - 如何检测元素宽度变化?

javascript - 如何给图像一个最大高度但保持纵横比?

html - GWTBootstrap 行显示为列而不是行