如何禁用Bootstrap日期时间选择器(datetimepicker)?

3

我正在使用Bootstrap日期时间选择器 (https://eonasdan.github.io/bootstrap-datetimepicker/)。我想在页面加载时禁用日期时间选择器。

$(document).ready(function () {
    $('#datetimepicker1').datetimepicker({
        defaultDate: new Date(),
        format: 'DD/MM/YYYY hh:mm:ss A'
    });
});

<div class='input-group date' id='datetimepicker1'>
    <input type='text' class="form-control" />
    <span class="input-group-addon">
        <span class="glyphicon glyphicon-calendar"></span>
    </span>
</div>

我尝试过使用以下代码来禁用日期时间选择器:$('#datetimepicker1').prop('disabled', true)$('#datetimepicker1').disable(),这些代码来源于 (http://eonasdan.github.io/bootstrap-datetimepicker/Functions/#disable)。但都没有生效。那么最好的方法是什么呢?


如果您想要快速解决方案,可以在您的div上设置display: none;。 - Ali
那不是一个好的解决方案,因为用户可以设置显示并搞乱逻辑。 - user7933742
3个回答

3

1
我正在使用 datetimepicker 而不是 daterangerpicker - user7933742
谢谢,这段代码应该添加在哪里?在datetimepicker初始化之后吗? - user7933742
不需要手动添加 disabled 属性,该组件有一个 disable() 函数。在您的 fiddle 中,用户仍然可以单击日历图标并打开日期时间选择器。 - VincenzoC
但是你仍然可以点击日历图标并选择日期。 - bozydarlelutko

3
你离解决方法很近了,你需要使用disable(),但是你需要记住,如文档所述:

注意 所有函数都通过数据属性访问,例如:$('#datetimepicker').data("DateTimePicker").FUNCTION()

因此,你需要在$('#datetimepicker1').disable()中添加.data("DateTimePicker")

这里是一个可行的示例:

$('#datetimepicker1').datetimepicker({
  defaultDate: new Date(),
  format: 'DD/MM/YYYY hh:mm:ss A'
});

//To Disable use disable() function 
$('#datetimepicker1').data("DateTimePicker").disable();
//To Enable use enable() function 
//$('#datetimepicker1').data("DateTimePicker").enable();
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet"/>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.css" rel="stylesheet"/>

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script>

<div class='input-group date' id='datetimepicker1'>
    <input type='text' class="form-control" />
    <span class="input-group-addon">
        <span class="glyphicon glyphicon-calendar"></span>
    </span>
</div>


1

$(document).ready(function () {
    $('#datetimepicker1').datetimepicker({
        defaultDate: new Date(),
        format: 'DD/MM/YYYY hh:mm:ss A'
    }).find("input:first").prop("disabled", true);
});


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接