如何在JSF中使特定按钮上的组件只读? 事件名称 演讲者姓名
上面是用JSF表单编写的代码部分,当我单击“ADD”按钮时显示。在相同的表单中,我还为表编写了代码,以显示如下数据:如何在JSF中使特定按钮上的组件只读? 事件名称 演讲者姓名,jsf,jsf-2.2,Jsf,Jsf 2.2,上面是用JSF表单编写的代码部分,当我单击“ADD”按钮时显示。在相同的表单中,我还为表编写了代码,以显示如下数据: <h:panelGroup rendered="#{spkrCatEvt.createPanel}"> <label>Event Name</label> <h:selectOneMenu style="width: 250px" class="form-control" value="#{spkrCatEvt.selec
<h:panelGroup rendered="#{spkrCatEvt.createPanel}">
<label>Event Name</label>
<h:selectOneMenu style="width: 250px" class="form-control" value="#{spkrCatEvt.selected.evtId}" id="speaker_eve">
<f:selectItems value="#{spkrCatEvt.eventlist}" var="sl" itemLabel="#{sl.value}" itemValue="#{sl.id}"/>
</h:selectOneMenu>
<label>Speaker Name</label>
<h:selectOneMenu style="width: 250px" class="form-control" value="#{spkrCatEvt.selected.spkrId}" id="speaker">
<f:selectItems value="#{spkrCatEvt.speakerlist}" var="sl" itemLabel="#{sl.value}" itemValue="#{sl.id}"/>
</h:selectOneMenu>
</h:panelGroup>
演讲者姓名
事件名称
当我从表中单击更新按钮时,我想将显示“事件名称”的
设置为只读
我也尝试过给元素赋予rendered属性,但没有成功
作为JSF的初学者,我没有得到解决方案
我将非常感谢您的帮助。使用
禁用
而不是h:selectOne菜单上的呈现
<代码>渲染
用于将其全部忽略。将其绑定到bean上的布尔值,单击按钮时将其设置为true。大概是
<table id="example" class="table table-bordered table-striped">
<thead>
<tr>
<th>Speaker Name</th>
<th>Event Name</th>
</tr>
</thead>
<tbody>
<ui:repeat id="dataTbl" value="#{spkrCatEvt.items}" var="item">
<tr>
<td><h:outputText value="#{item.spkrName}"/></td>
<td><h:outputText value="#{item.evtName}"/></td>
<td>
<h:commandLink action="#{spkrCatEvt.prepareView()}" id="view" title="View"><i class="fa fa-th-large"/></h:commandLink>
<h:outputText value=" "/>
<h:commandLink action="#{spkrCatEvt.prepareEdit()}" id="edit" title="Edit"><i class="fa fa-edit"></i></h:commandLink>
<h:outputText value=" "/>
<h:commandLink action="#{spkrCatEvt.activeEdit()}" id="activate" title="Activate" rendered="#{!item.active}"><i class="fa fa-check"></i></h:commandLink>
<h:commandLink action="#{spkrCatEvt.activeEdit()}" id="deactivate" title="DeActivate" rendered="#{item.active}"><i class="fa fa-times"></i></h:commandLink>
</td>
</tr>
</ui:repeat>
</tbody>
</table>
如果是primefaces SelectOne菜单
select:disabled{
color: black;
}
请问有什么问题?我永远不会明白,当有人简单地说,“这行不通”。在JSF生命周期中,不会评估与只读输入组件关联的值。你在问这件事吗?如果是,请参阅。肯定会有其他帖子,但这是有偏见的,因为它属于我。我的表单中有一个名为“添加新”的按钮。当我点击“添加新”时,它会显示一个输入字段和一个下拉框来选择值。此外,我的数据表中有三个操作按钮。当我单击update action时,它会显示带有填充值的相同字段,但这里我想禁用下拉列表。i、 e.selectonemenuI会说禁用而不是渲染。将其绑定到bean上的布尔属性,单击按钮时将其设置为true。它起作用了..谢谢@JaqenH'ghar..请在答案框中写下您的答案,以便我可以标记为正确
select:disabled{
color: black;
}
.ui-selectonemenu.ui-state-disabled{
opacity: 1; // Between 0.0 and 1, 0.35 being default
}