【问题标题】:bootstrap datetimepicker unable to disable onload引导 datetimepicker 无法禁用 onload
【发布时间】:2015-10-14 11:10:34
【问题描述】:

我有一个bootstrap datetimepicker 和一个按钮:

当页面加载时,datetimepicker 应该被禁用。单击它应该启用的按钮:

我做了如下:

<div id="div_choose_date" style="display:block;margin-top:20px;">
                        <div class="col-xs-12 col-sm-6 col-md-4 col-lg-3" style="padding:0px 0px 10px 0px">
                            <span class="small">Date</span>
                            <div class="form-group">
                                <div class='input-group date' id='datetimepicker1'>
                                    <input type='text' class="form-control" id="pickdate"/>
                                    <span class="input-group-addon" id="showpicker">
                                        <span class="glyphicon glyphicon-calendar"></span>                                      
                                    </span>
                                </div>
                                <button type="button" id="btn_changedate" class="btn btn-success" style="width:100%;">Change</button>
                            </div>
                        </div>
                    </div>

为了禁用,我尝试如下:

    $(document).ready(function() {

$("#datetimepicker1").datetimepicker({
                pickTime: false,
                format : "YYYY/MM/DD",
                startDate: new Date()
                }); 

                $("#div_choose_date").prop('disabled', true);

                $("#btn_changedate").click(function(){

                 $("#div_choose_date").prop('disabled', false);

            });
    });

但不幸的是它不起作用!

如何禁用 datetimepicker onload 并在单击按钮时启用它?

【问题讨论】:

  • 这个问题在这篇文章中得到了回答:stackoverflow.com/a/18569432/522814
  • 你不能这样$("#btn_changedate").click(function(){$("#div_choose_date").datetimepicker();});
  • @SandeepNayak 在我的情况下,我可以在页面加载时选择日期,但应该禁用它!!

标签: jquery twitter-bootstrap datetimepicker


【解决方案1】:

根据您的代码,日期选择器甚至没有被启用。为此,您需要初始化插件,

$(function() {
    $('#pickdate').datetimepicker();    
});

如果你想禁用(即销毁),那么你可以这样做:

$('#someButton').click(function(e) {
    $('#pickdate').datetimepicker('remove')  // or $('#element').datepicker('destroy');
});

您可以在fiddle here 上查看它 - 首先启用它(单击 grn 按钮),然后单击另一个按钮。您会注意到日期不再弹出

有些人说将元素全部删除会更容易(因为在某些情况下,boostrap 没有使用destroy 方法)。但是,函数 datetimepicker('remove') 确实有效。因此,既然您说您的日期选择器实际上是在加载时启用,这没有任何意义,但 w/e,那么请继续使用 datetimepicker('remove')

【讨论】:

  • 删除/销毁方法未按预期工作!!是datetimepicker 不是datepicker
  • 倒票很有趣 - datetimepicker 有一个 destroy 方法。阅读文档。在您对“53 分钟前编辑”您的帖子投反对票之前。 w/e
猜你喜欢
  • 1970-01-01
  • 2018-02-12
  • 1970-01-01
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-05
相关资源
最近更新 更多