我的 xpage 应用程序中的引导 dateTimePicker 控件有问题,我怀疑这与 xPages 生成控件 ID 的方式有关。
以下代码在 inputText 元素上没有 id 时可以正常工作。
<script type="text/javascript" src="/fPath/jquery-min.js"></script>
<script type="text/javascript" src="/fPath/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/RfPath/bootstrap-datetimepicker-3.0.0/js/moment.min.js"></script>
<script type="text/javascript" src="/fPath/bootstrap-datetimepicker-3.0.0/js/bootstrap-datetimepicker.min.js"></script>
<div class='input-group date' data-datetimepicker="true">
<xp:inputText styleClass="form-control timePicker">
<xp:this.converter>
<xp:convertDateTime type="time" timeStyle="short" />
</xp:this.converter>
</xp:inputText>
<span class="input-group-addon">
<span class="glyphicon glyphicon-time"></span>
</span>
</div>
当我重新添加一个 id 时,我会在单击离开/退出控件时收到以下错误:
错误:语法错误,无法识别的表达式:不支持的伪:_id1
需要 id 才能将数据映射回文档,但我实际上并没有使用它来附加 datetimepicker - 我为此使用了一个类:
$('.timePicker').each(function(i,el){SHARED.timePickerOpen(el)})
SHARED = {
timePickerOpen: function(el){
$(el).datetimepicker({
pickDate: false,
pickTime: true,
useCurrent: true,
minuteStepping:5
});
}
}
更新#1:
听上去好像有点误会,所以我会尝试进一步解释......
- 在测试中,我用纯 html 编写了代码,为该字段提供了一个 ID,它工作正常。
- 如果我使用 xpage 字段(其中 domino 使用冒号生成 ID),日期选择器将失败并出现上述错误。
- 我不使用 ID 将事件绑定到字段,我使用类获取字段然后将 datetimepicker 控件绑定到它。
问题似乎是使用字段 id 的日期时间选择器。即使我通过类名(不是 id)获取该字段,如果在该字段中找到一个 id,datetimepicker 代码似乎也想使用一个 id。datetimepicker 绑定到该字段没有任何问题。当您尝试选择模型框显示的时间并允许您选择时间时,当您尝试在该字段之外单击以关闭模型时间控件时会发生错误。