DatePicker:使用范围选择时选择单个日期



我有一个范围DatePicker从Primefaces。但是我还想选择一个日期.

但是如果我这样做,我不会得到任何值,只是一个空数组。这是因为内部函数(我不能修改)只有在给出两个值时才返回一些东西。至少我是这么认为的。

我想到的解决方法是通过使用javascript函数调用数组的第一个值,但我无法访问它,因为PF函数既没有函数名也没有类。

下面是PrimeFaces函数的代码:
if (this.isRangeSelection()) {
if (this.value && this.value.length) {
var b = this.value[0],
g = this.value[1];
d = this.formatDateTime(b);
if (g) {
d += " " + this.options.rangeSeparator + " " + this.formatDateTime(g)
}
}
}

这是我可怜的javascript尝试:

<script type="text/javascript">
function getArrayValue(){
console.log("inFunction");
console.log(window.d.value[0]);
}
</script>

用This来调用:

<div class="p-field p-col-12 p-md-4">
<p:datePicker id="range" selectionMode="range"
value="#{SearchBean.range}" onblur="getArrayValue()">
</p:datePicker>
</div>

提前感谢您的帮助!:)

我刚刚帮助一个朋友做了同样的事情,将范围设置为两个日期是相同的,你可以用这个JS…

<script type="text/javascript">
function adjustDateRange(widgetVar) {
var widget = PF(widgetVar);
var dates = widget.getDate();
if (dates[0] && !dates[1]) {
dates[1] = dates[0];
widget.jq.data().primeDatePicker.updateModel(null, dates);
}
}
</script>

然后在你的DatePicker…

<p:datePicker id="range" 
widgetVar="wgtRange" 
selectionMode="range" 
value="#{SearchBean.range}" 
onblur="adjustDateRange('wgtRange')">
</p:datePicker>

相关内容

  • 没有找到相关文章

最新更新