测试元素是否已具有Bootstrap datepicker

时间:2015-04-20 16:32:14

标签: javascript bootstrap-datepicker

我正在开发一个具有多种实现的相当大的软件平台。有一个先前的实现使用jQueryUI datepicker,我现在正在使用Bootstrap datepicker的接口改进。

我有没有办法测试Bootstrap日期选择器是否已经附加到某个元素,让我们说这个

<input type="text" id="user-date" class="datepicker"/>

请注意,我没有询问是否在this qestion中加载了Bootstrap datepicker。我宁愿要求测试,类似于jQueryUI datepicker的this one

1 个答案:

答案 0 :(得分:13)

当你在一个元素上使用bootstrap-datepicker时,它会在.data中添加一个对象(&#34; datepicker&#34;),这样你就可以检查它是否存在,并检查日期选择器是否可见,你可以使用。数据(&#34; datepicker&#34;)。像这样的选择器对象

HTML

<input type="text" id="user-date" class="datepicker"/>     

JS

if(!$('#user-date').data('datepicker')){// or $('#user-date').data('datepicker')==null
    console.log('datepicker is not attached');
}   
$('#user-date').datepicker();
$('#user-date').focus();//set focus to display datepicker
if($('#user-date').data('datepicker')){
    console.log('datepicker is already attached');
    if($('#user-date').data('datepicker').picker.is(":visible")){
        console.log("datepicker is visible");
    }
}

https://jsfiddle.net/weso8a96/