Отключить выбор пользователя в - PullRequest
1 голос
/ 21 сентября 2011

Я пытаюсь отключить выбор пользователя в теге.

    <h:selectOneRadio id="wildcard"   value="#{NewService.isWildCard}" label="#{msg.org_IsWildCard}" readonly="true" layout="lineDirection">              
                                        <f:selectItem id="yes" itemLabel="YES" itemValue="1" />
                                        <f:selectItem id="no" itemLabel="NO" itemValue="0" />                                       
</h:selectOneRadio> 

Однако в моем графическом интерфейсе я все еще могу выбрать значение переключателя. Пожалуйста, скажите мне, что не так в коде ... Также код BackingBean довольно прост ... Я просто передаю 0 или 1 в backingBean ...

Пожалуйста, объясните мне, как отключить выбор пользователя в

Ответы [ 3 ]

5 голосов
/ 21 сентября 2011

Это действительно неинтуитивное поведение сгенерированного JSF элемента HTML <input type="radio">. Есть в основном 2 решения вашей проблемы:

  1. Используйте disabled="true" вместо readonly="true":

    <h:selectOneRadio disabled="true">
    
  2. Добавить обработчик onclick, который возвращает false:

    <h:selectOneRadio onclick="return false;">
    
2 голосов
/ 21 сентября 2011

Используйте атрибут itemDisabled в ваших selectItems:

<f:selectItem id="yes" itemLabel="YES" itemValue="1" itemDisabled="true"/>
0 голосов
/ 06 мая 2016
<h:selectOneRadio id="wildcard"   value="#{NewService.isWildCard}" label="#{msg.org_IsWildCard}" readonly="true" layout="lineDirection">              
     <f:selectItem id="yes" itemLabel="YES" itemValue="1" itemDisabled="#{NewService.type == 1 }"/>
     <f:selectItem id="no" itemLabel="NO" itemValue="0" itemDisabled="#{NewService.type == 1 }"/>
</h:selectOneRadio> 
...