Выравнивание переключателя в JSP / JSF по его метке - PullRequest
2 голосов
/ 05 февраля 2012

Я хотел бы добиться следующего в среде JSF1.1:

Пол: RadioButtonForFemale FEMALE RadioButtonForMale MALE

<h:panelGroup>
   <h:outputLabel for = "searchSex" value = "#{bundle.Sex_Label}" style ="width:15%;">
   </h:outputLabel>      
   <h:selectOneRadio id="searchSex" value="#{yy.search_Sex}" style="verticle-align:top;font-size:95%;color:red;">
      <f:selectItem itemLabel="F" itemValue="F" />
      <f:selectItem itemLabel="M" itemValue="M"/>
   </h:selectOneRadio>
</h:panelGroup>

В основном все переключатели должны находиться в одной строкекак метка (Пол в нашем случае).

Прилагается мой текущий код.переключатель появится в следующем ряду.Моя PanelGrid имеет 1 столбец.

спасибо,

1 Ответ

5 голосов
/ 06 февраля 2012

Действительно, <h:selectOneRadio> генерирует <table>, который по умолчанию является элементом блока HTML (то есть всегда начинается с новой строки).

Вам необходимо установитьсвойство CSS display для inline-table.

<h:panelGroup>
  <h:outputLabel for="searchSex" value="#{bundle.Sex_Label}" style="width: 15%;" />
  <h:selectOneRadio id="searchSex" value="#{yy.search_Sex}" style="display: inline-table; verticle-align: top; font-size: 95%; color: red;">
    <f:selectItem itemLabel="F" itemValue="F" />
    <f:selectItem itemLabel="M" itemValue="M" />
  </h:selectOneRadio>
</h:panelGroup>

Но это довольно неуклюже.Если вы уже используете <h:panelGrid>, я бы порекомендовал просто установить columns на 2, чтобы в левом столбце могли быть метки, а в правом столбце - входные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...