在JSF2.0应用程序中,我有以下代码片段:
<ui:repeat var="applicantTypes" value="#{lookupHelper.applicantTypes}">
<h:selectBooleanCheckbox styleClass="applicantType"
value="#{requestBeanDtoProxyMB.requestInstance.subsidyRequest.
applicantTypesMap[applicantTypes.id]}">
</h:selectBooleanCheckbox>
</ui:repeat>
列表applicantTypes
从数据库中获取,HashMap applicantTypesMap
具有数据类型Map<long, boolean>
,其中键是applicantTypes
的id。
代码依赖于从数据库中获取值的列表,它包含3个项(数据库仅包含3个记录)。
我想做的是获得对这3项中的一项的引用,这样我就可以根据特定的条件使用JavaScript来隐藏它。我知道如何使用JavaScript使用它的id隐藏UI元素,我的问题是id是动态生成的,所以我不可能使用它来隐藏复选框
那么,是否有一种方法可以在JavaScript代码中获得对此复选框的引用?或者,是否有一种方法可以隐藏此复选框,而不需要它的id来这样做?
发布于 2016-08-31 23:18:00
我想做的是获得对这3项中的一项的引用,这样我就可以根据特定的条件使用JavaScript来隐藏它。
有许多方法可以使用JSF本身或javascript/JQuery隐藏html元素!
JSF-组件有一个名为“呈现”的属性,如果它适合您的需要,可以使用它。
若要使用JavaScript/Jquery隐藏元素,只需向该元素添加样式类,然后使用JQuery类选择器来管理该元素(或使用普通JavaScript):
<ui:repeat var="applicantTypes" value="#{lookupHelper.applicantTypes}">
<h:selectBooleanCheckbox styleClass="applicantType SOME-CLASS#{applicantTypes.id}"
value="#{requestBeanDtoProxyMB.requestInstance.subsidyRequest.
applicantTypesMap[applicantTypes.id]}">
</h:selectBooleanCheckbox>
</ui:repeat>
看看这个styleClass="applicantType SOME-CLASS#{applicantTypes.id}"
,它将打印(示例) ...class="applicantType SOME-CLASS1"...
现在使用JQuery隐藏该元素:
$('.SOME-CLASS1').hide();
https://stackoverflow.com/questions/39259464
复制相似问题