我正在使用 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('已禁用','已禁用');
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
结尾的所有元素.
关于javascript - 如何使用 jquery 禁用日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10297201/