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

在同一页面添加更多的日期选择器可能是一个古老的问题.但是我这里有另外一种情况.

二手图书馆
 https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js

这是日期选择器的脚本

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

现在,多个日期选择器可以在同一页面上正常工作.

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

但是这里的第二个日期选择器来自扩展表单脚本

<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",["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();
}

只是为了解释这里发生的情况,我添加了一个新的datepicker输入,该输入具有onfocus =“”属性,当该输入处于焦点时,它将调用包含.datepicker函数函数.

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

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...