【问题标题】:How to disable calendar using jquery如何使用 jquery 禁用日历
【发布时间】:2012-05-05 01:08:53
【问题描述】:

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

我需要使用 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;

如何禁用按钮?

谢谢, 希哈

【问题讨论】:

    标签: javascript jquery jsf-2 primefaces


    【解决方案1】:

    如果无法通过 id 选择按钮,则需要使用不同的选择器。

    p:calendar 通常被&lt;span&gt; 包围,并且按钮是此&lt;span&gt; 元素内的 inputText 的兄弟。

    所以你可以使用下面的 jquery 语句:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-14
      • 2011-05-21
      • 1970-01-01
      相关资源
      最近更新 更多