如何使用 jquery 禁用日历

How to disable calendar using jquery

本文关键字:日历 jquery 何使用      更新时间:2023-09-26

我正在使用素数日历。日历放置在素数的数据表上。

我需要使用 jquery 禁用日历。

<p:column width="170">
    <p:calendar id="vendorStartDate" value="#{articlePromo.fechaInicio}"
       pattern="dd/MM/yyyy" mode="popup" showOn="button">
    </p:calendar>
</p:column>

以下未禁用日历:

  • $(#vendorStartDate).attr('disabled','disabled');

  • document.getElementById("vendorStartDate").disabled = true;

在查看源代码时,我可以确定它实际上是一个输入文本和一个按钮。输入文本获取 id = vendorStartDate_input。但是该按钮没有获得ID。

日历的启用/禁用取决于其他列的值。因此,在该列onChange事件上,我需要禁用日历组件 - 输入文本和按钮。

我能够使用以下方法禁用输入文本:

  • document.getElementById("vendorStartDate_input").disabled = true;

如何禁用按钮?

谢谢希卡

如果无法按 id 选择按钮,则需要使用其他选择器。

p:calendar通常被<span>包围,按钮是此<span>元素内inputText 的同级。

因此,您可以使用以下 jquery 语句:

$('#vendorStartDate_input').siblings('button').attr('disabled', 'true');

如果要获取表中的所有日历元素:

$('[id$="vendorStartDate_input"]').siblings('button').attr('disabled', 'true');

这将选择所有 id 以 vendorStartDate_input 结尾的元素。