Отключить JSF Primefaces textArea для события - PullRequest
3 голосов
/ 11 марта 2012

У меня есть простая форма с selectOneMenu и textarea, которую я хочу отключить, если определенное значение выбрано в select (событие onchange).Как мне этого добиться?

<p:selectOneMenu id="way" value="" onchange="">
    <f:selectItem value="0" itemLabel="#{texts.post}" />
    <f:selectItem value="1" itemLabel="#{texts.pickup}" />
</p:selectOneMenu>

<h:outputLabel for="address" value="#{texts.address}" />
<p:inputTextarea id="address" widgetVar="addressTextarea" value="" />

Ответы [ 2 ]

4 голосов
/ 11 марта 2012

Я не думаю, что есть открытый интерфейс для этого для inputTextarea, но вы можете получить clientId и отключить html textarea или использовать jquery, чтобы полностью отключить его:

<p:selectOneMenu onchange="if(this.value == 1) { $(addressTextarea.input.attr('disabled', 'true)); $(addressTextarea.input.addClass('ui-state-disabled')) }">

Или, используя ajax, вы можете использовать:

<p:selectOneMenu id="way" value="#{selectValue}">
    <f:selectItem value="0" itemLabel="#{texts.post}" />
    <p:ajax event="change" update="address"/>
</p:selectOneMenu>

<p:inputTextarea id="address" widgetVar="addressTextarea" value="" disabled="#{selectValue == 0}"/>
1 голос
/ 18 сентября 2014

Вы можете попробовать это:

<p:inputTextarea id="address" widgetVar="addressTextareaWV" />

<p:selectOneMenu id="way" onchange="disableComponent()"/>

<script language="javascript" type="text/javascript">
    function disableComponent() {
        PF('addressTextareaWV').disable();
    }

    function enableComponent() {
        PF('addressTextareaWV').enable();
    }
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...