Java 如何禁用内联p:calendar(primefaces)

Java 如何禁用内联p:calendar(primefaces),java,jsf,primefaces,Java,Jsf,Primefaces,我注意到禁用内联p:calendar实际上会隐藏它 我一直期望禁用的p:calendar将只是一个显示的日历,但它是只读的,就像所有其他典型的JSF组件一样 如果我想要一个隐藏的p:calendar,我会使用rendered属性 有没有办法禁用内联p:calendar而不隐藏它?(只需阻挡鼠标和键盘即可) Primefaces 4.我使用了readonly=true属性,但它对我不起作用 还有一个属性是readonlynput=true,但这是用于非内联日历的 最后,我通过JQuery解除了p:

我注意到禁用内联p:calendar实际上会隐藏它

我一直期望禁用的p:calendar将只是一个显示的日历,但它是只读的,就像所有其他典型的JSF组件一样

如果我想要一个隐藏的p:calendar,我会使用rendered属性

有没有办法禁用内联p:calendar而不隐藏它?(只需阻挡鼠标和键盘即可)


Primefaces 4.

我使用了
readonly=true
属性,但它对我不起作用

还有一个属性是
readonlynput=true
,但这是用于非内联日历的

最后,我通过JQuery解除了
p:calendar
组件的
的所有事件的绑定

我不知道这是否是一个可行的解决方案(可能还有其他替代方案),但这个脚本工作得很好

$(document).ready(
    function makeCalendarReadOnly(){
        $(".ui-datepicker-inline td").unbind();
    }
);

我使用了
readonly=true
属性,但它对我不起作用

还有一个属性是
readonlynput=true
,但这是用于非内联日历的

最后,我通过JQuery解除了
p:calendar
组件的
的所有事件的绑定

我不知道这是否是一个可行的解决方案(可能还有其他替代方案),但这个脚本工作得很好

$(document).ready(
    function makeCalendarReadOnly(){
        $(".ui-datepicker-inline td").unbind();
    }
);

我使用了
readonly=true
属性,但它对我不起作用

还有一个属性是
readonlynput=true
,但这是用于非内联日历的

最后,我通过JQuery解除了
p:calendar
组件的
的所有事件的绑定

我不知道这是否是一个可行的解决方案(可能还有其他替代方案),但这个脚本工作得很好

$(document).ready(
    function makeCalendarReadOnly(){
        $(".ui-datepicker-inline td").unbind();
    }
);

我使用了
readonly=true
属性,但它对我不起作用

还有一个属性是
readonlynput=true
,但这是用于非内联日历的

最后,我通过JQuery解除了
p:calendar
组件的
的所有事件的绑定

我不知道这是否是一个可行的解决方案(可能还有其他替代方案),但这个脚本工作得很好

$(document).ready(
    function makeCalendarReadOnly(){
        $(".ui-datepicker-inline td").unbind();
    }
);

毕竟结果是一个跨度,所以您可以使用普通jQuery来调整样式

$('.disabledCalendar').children().fadeTo('slow', .7);
$('.disabledCalendar').append('<div style="position: absolute;top:0;left:0;width: 100%;height:100%;z-index:2;opacity:0.4;filter: alpha(opacity = 50)"></div>');
$(".ui-datepicker-inline td").unbind();
$('.disabledCalendar').children().fadeTo('slow',.7);
$('.disabledCalendar')。追加('');
$(“.ui日期选择器内联td”).unbind();
并将类分配给日历:

<p:calendar styleClass="disabledCalendar" mode="inline" />

注意:如果有人在客户端玩了样式,并移除了面具,这可能会很棘手。他们将能够更改值,因为此解决方案显然不会反映在服务器端。我会在服务器端进行一些验证,确认值没有改变

编辑: 您还可以将我的解决方案与Kishor P答案结合起来,并解除事件绑定(我已经编辑了jQuery的代码)。 这样会更安全

可以在上找到一个小的工作示例。还有一个


希望这有帮助。

毕竟结果是一个span,所以您可以使用普通jQuery来调整样式

$('.disabledCalendar').children().fadeTo('slow', .7);
$('.disabledCalendar').append('<div style="position: absolute;top:0;left:0;width: 100%;height:100%;z-index:2;opacity:0.4;filter: alpha(opacity = 50)"></div>');
$(".ui-datepicker-inline td").unbind();
$('.disabledCalendar').children().fadeTo('slow',.7);
$('.disabledCalendar')。追加('');
$(“.ui日期选择器内联td”).unbind();
并将类分配给日历:

<p:calendar styleClass="disabledCalendar" mode="inline" />

注意:如果有人在客户端玩了样式,并移除了面具,这可能会很棘手。他们将能够更改值,因为此解决方案显然不会反映在服务器端。我会在服务器端进行一些验证,确认值没有改变

编辑: 您还可以将我的解决方案与Kishor P答案结合起来,并解除事件绑定(我已经编辑了jQuery的代码)。 这样会更安全

可以在上找到一个小的工作示例。还有一个


希望这有帮助。

毕竟结果是一个span,所以您可以使用普通jQuery来调整样式

$('.disabledCalendar').children().fadeTo('slow', .7);
$('.disabledCalendar').append('<div style="position: absolute;top:0;left:0;width: 100%;height:100%;z-index:2;opacity:0.4;filter: alpha(opacity = 50)"></div>');
$(".ui-datepicker-inline td").unbind();
$('.disabledCalendar').children().fadeTo('slow',.7);
$('.disabledCalendar')。追加('');
$(“.ui日期选择器内联td”).unbind();
并将类分配给日历:

<p:calendar styleClass="disabledCalendar" mode="inline" />

注意:如果有人在客户端玩了样式,并移除了面具,这可能会很棘手。他们将能够更改值,因为此解决方案显然不会反映在服务器端。我会在服务器端进行一些验证,确认值没有改变

编辑: 您还可以将我的解决方案与Kishor P答案结合起来,并解除事件绑定(我已经编辑了jQuery的代码)。 这样会更安全

可以在上找到一个小的工作示例。还有一个


希望这有帮助。

毕竟结果是一个span,所以您可以使用普通jQuery来调整样式

$('.disabledCalendar').children().fadeTo('slow', .7);
$('.disabledCalendar').append('<div style="position: absolute;top:0;left:0;width: 100%;height:100%;z-index:2;opacity:0.4;filter: alpha(opacity = 50)"></div>');
$(".ui-datepicker-inline td").unbind();
$('.disabledCalendar').children().fadeTo('slow',.7);
$('.disabledCalendar')。追加('');
$(“.ui日期选择器内联td”).unbind();
并将类分配给日历:

<p:calendar styleClass="disabledCalendar" mode="inline" />

注意:如果有人在客户端玩了样式,并移除了面具,这可能会很棘手。他们将能够更改值,因为此解决方案显然不会反映在服务器端。我会在服务器端进行一些验证,确认值没有改变

编辑: 您还可以将我的解决方案与Kishor P答案结合起来,并解除事件绑定(我已经编辑了jQuery的代码)。 这样会更安全

可以在上找到一个小的工作示例。还有一个


希望这能有所帮助。

很好..Chokran:)很好..Chokran:)很好..Chokran:)很好..Chokran:)