繁体   English   中英

引导未捕获的typeError:$(…).timepicker不是函数

[英]bootstrap uncaught typeError: $(…).timepicker is not a function

我已经在这个问题上工作了一个星期,但是对于新手来说,我找不到解决方案。

我有一个表单,它运行良好,除了运行函数addItem()时;

一旦执行此操作,它将不会显示日期选择器或时间选择器。 这组项目工作正常:

                <div class="form-group">
                <div class="row">


                    <div id="servicetime" class="col-sm-6 col-md-6">
                        <h4>Date In</h4>
                        <div class="input-group"> 


                            <input id="date_in_1" name="date_in_1" type="text" class="date start form-control">
                            <span class="input-group-addon"><?if($requiredfield=="Yes") echo '<i class="glyphicon glyphicon-ok form-control-feedback"></i>';?></span>

                        </div>
                        <h4>Time In</h4>
                        <div class="input-group"> 
                            <input id="time_in_1" name="time_in_1" type="text" class="time start form-control">
                            <span class="input-group-addon"><?if($requiredfield=="Yes") echo '<i class="glyphicon glyphicon-ok form-control-feedback"></i>';?></span>
                        </div>  
                        <h4>Time Out</h4>
                        <div class="input-group"> 
                            <input id="time_out_1" name="time_out_1" type="text" class="time end form-control">
                            <span class="input-group-addon"><?if($requiredfield=="Yes") echo '<i class="glyphicon glyphicon-ok form-control-feedback"></i>';?></span>
                        </div> 

                        <div style="display:none" class="input-group"> 
                            <input id="date_out_1" name="date_out_1" type="text" class="date end form-control" readonly>
                            <span class="input-group-addon"><?if($requiredfield=="Yes") echo '<i class="glyphicon glyphicon-ok form-control-feedback"></i>';?></span>
                        </div>

                    </div>
                </div>
            </div>

            <script>
                // initialize input widgets first
                $('#time_in_1').timepicker({
                    'showDuration': true,
                    'timeFormat': 'g:ia',
                    'step': 15
                });

                $('#date_in_1').datepicker({
                    'format': 'm/d/yyyy',
                    'autoclose': true
                });
                $('#time_out_1').timepicker({
                    'showDuration': true,
                    'timeFormat': 'g:ia',
                    'step': 15
                });

                $('#date_out_1').datepicker({
                    'format': 'm/d/yyyy',
                    'autoclose': true
                });

                // initialize datepair
                var basicExampleEl = document.getElementById('servicetime');
                var datepair = new Datepair(basicExampleEl);



            </script>
            <div class="row">
                <div class="col-md-6">

                    <div class="form-group">
                        <label for="children_1"># of Children:</label>
                        <div class="input-group">
                            <input type="number" class="form-control" name="children_1" min="1" max="5" id="children_1" placeholder="#" required >
                            <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div id="itemDiv"></div>

        <div> <a class="btn btn-primary" href="javascript:addItem()"><i>Different amount of kids for different amounts of hours then add more time frames.</i></a></div>

一旦运行此函数,我就会收到上述错误。

function addItem() 
{


    var numberOfItems = Number($('#entry_count').val()) + 1;
    $('#entry_count').val(numberOfItems);
    var sTextToAdd = '<div class="form-group"><div class="row"><div id="servicetime'+numberOfItems+'" class="col-sm-6 col-md-6"><h4>Date In</h4><div class="input-group">';
    sTextToAdd +=  '<input id="date_in_'+numberOfItems+'" name="date_in_'+numberOfItems+'" type="text" class="date start form-control">';
    sTextToAdd += '<span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span> </div>';
    sTextToAdd += '<h4>Time In</h4> <div class="input-group">  <input id="time_in_'+numberOfItems+'" name="time_in_'+numberOfItems+'" type="text" class="time start form-control">';
    sTextToAdd += '<span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span></div>';
    sTextToAdd += '<h4>Time Out</h4><div class="input-group"><input id="time_out_'+numberOfItems+'" name="time_out_'+numberOfItems+'" type="text" class="time end form-control">';
    sTextToAdd += '<span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span></div>';
    sTextToAdd += '<div style="display:none" class="input-group"><input id="date_out_'+numberOfItems+'" name="date_out_'+numberOfItems+'" type="text" class="date end form-control" readonly>';
    sTextToAdd += '<span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span></div></div></div></div>';
    sTextToAdd += '<br />'; 
    $('#itemDiv').append(sTextToAdd);
    // initialize input widgets first
    $('#time_in_'+numberOfItems).timepicker({
        'showDuration': true,
        'timeFormat': 'g:ia',
        'step': 15
    });
    $('#date_in_'+numberOfItems).datepicker({
        'format': 'm/d/yyyy',
        'autoclose': true
    });
    $('#time_out_'+numberOfItems).timepicker({
        'showDuration': true,
        'timeFormat': 'g:ia',
        'step': 15
    });
    $('#date_out_'+numberOfItems).datepicker({
        'format': 'm/d/yyyy',
        'autoclose': true
    });
    $('#time_in_'+numberOfItems).ptTimeSelect();
      $('#time_out_'+numberOfItems).ptTimeSelect();


    var basicExampleEl = document.getElementById('servicetime_'+numberOfItems);
    var datepair = new Datepair(basicExampleEl);
}

我尝试在页面末尾运行该功能的脚本,但是直到插入输入后才能加载该脚本。 我考虑过要进行for循环,并在页面加载时在脚本之前添加功能项,然后使用按钮从style =“ display:none;”中显示它们,但是我觉得这很草率。

我尝试了此处列出的解决方案但也没有用。

任何帮助,将不胜感激。

您的引导时间选择器或日期选择器js文件应位于页脚中,而jquery min.js位于标头中

在标题中:

<script src="/js/jquery-1.11.1.min.js"></script>

在页脚中:

<script src="/js/bootstrap.min.js"></script>
<script src="/js/bootstrap-timepicker.min.js"></script>

如果有帮助,请尝试这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM