1

我正在尝试禁用标签中的用户选择。

    <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> 

但是在我的 GUI 上,我仍然可以选择单选按钮值。请告诉我代码有什么问题..BackingBean 代码也很简单..我只是在 backingBean 中传递 0 或 1...

请指导我如何禁用用户选择

4

3 回答 3

5

这确实是 JSF 生成的 HTML<input type="radio">元素的不直观行为。您的问题基本上有两种解决方案:

  1. 使用disabled="true"代替readonly="true"

    <h:selectOneRadio disabled="true">
    
  2. 添加一个返回 false 的 onclick 处理程序:

    <h:selectOneRadio onclick="return false;">
    
于 2011-09-21T12:15:29.317 回答
2

itemDisabled在您的 selectItems 中使用该属性:

<f:selectItem id="yes" itemLabel="YES" itemValue="1" itemDisabled="true"/>
于 2011-09-21T08:44:07.850 回答
1
<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> 
于 2016-05-06T02:27:05.427 回答