我正在尝试禁用标记中的用户选择。
<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 ...
请指导我如何在
中禁用用户选择答案 0 :(得分:5)
这确实是JSF生成的HTML <input type="radio">
元素的不直观行为。您的问题基本上有两种解决方案:
使用disabled="true"
代替readonly="true"
:
<h:selectOneRadio disabled="true">
添加一个返回false的onclick处理程序:
<h:selectOneRadio onclick="return false;">
答案 1 :(得分:2)
使用selectItems中的itemDisabled
属性:
<f:selectItem id="yes" itemLabel="YES" itemValue="1" itemDisabled="true"/>
答案 2 :(得分:0)
<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>