bootstrap datetimepicker无法禁用onload

时间:2015-10-14 11:10:35

标签: jquery twitter-bootstrap datetimepicker

我有一个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并在按钮点击时启用它?

1 个答案:

答案 0 :(得分:-1)

根据您的代码,甚至没有启用datepicker。为此,您需要初始化插件,

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

如果要禁用(即 - 销毁),则可以这样做:

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

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

有些人说,将所有元素一起移除更容易(因为在某些情况下,boostrap不会带有destroy方法)。但是,函数datetimepicker('remove')确实有效。因此,既然你说你的日期选择器在加载时实际上是启用,这没有意义但是没有用,那么请继续使用datetimepicker('remove')