这个问题类似于Check if datepicker is open除了它属于具有多个日期选择器控件的页面。
当页面上有多个日期选择器时,jQuery UI 似乎只创建一个在所有日期选择器之间共享的日期选择器小部件。
我正试图找到一种方法,通过日期选择器 UI 或其他方式,找出小部件为哪个日期选择器打开。不幸的是,经过验证的真实测试例如:
$('#someDatepicker').datepicker('widget').is(':visible');
无论小部件为哪个日期选择器打开,只要它在某处可见,都返回 true。
最佳答案
在爬过 source code for datepicker 之后我在第 718 行附近找到了一些相关代码:
inst = $.datepicker._getInst(input);
if ($.datepicker._curInst && $.datepicker._curInst !== inst) {
...
}
使用这段代码,我对这些内部对象进行了更多挖掘,并生成了一个 fiddle。 .看起来 $.datepicker._curInst.id
将为您提供打开日期选择器小部件的文本框的 ID。
使用风险自负,因为该对象是内部对象且未记录,可能会在库的 future 版本中更改/移动/删除。
关于javascript - 如何判断小部件为哪个日期选择器打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16674019/