使用jQuery禁用h:inputText

时间:2014-02-24 20:58:50

标签: javascript jquery html jsf

我正在尝试通过jQuery(由于性能而不使用reRender)使h:inputText禁用状态动态。

我有一个javascript函数,它负责更新一堆h:inputText的值和其他状态。更新它们的值没有问题,但是当涉及到更新禁用状态时,会发生奇怪的事情。即使尝试以下所有选项,我也无法实际禁用字段:

jQuery(document.getElementById('form:fieldID')).attr('disabled', 'disabled');  

jQuery(document.getElementById('form:fieldID')).attr('disabled', true);

jQuery(document.getElementById('form:fieldID')).prop('disabled', true);  

在字段上调用上述任何选项会导致最终的html等于<input disabled="">,这也会启用之前禁用的字段。

我已经使用JSF 1.2和一堆jQuery版本进行了测试。

1 个答案:

答案 0 :(得分:0)

您可以使用:http://api.jquery.com/attribute-ends-with-selector/

$("[name$=':fieldID']").attr("disabled", true); //for normal input field
$("[name$=':fieldID']").attr("disabled", true); //for checkbox and radiobutton (disable all options)
$("[name$=':fieldID'][id$=':1']").attr("disabled", true); //for checkbox and radiobutton second option