选中复选框时会显示下拉列表

时间:2012-08-09 19:48:23

标签: java drop-down-menu checkbox seam

我正在使用Seam制作Java / HTML程序。我试图在<h:selectOneMenu>被检查时显示<h:selectBooleanCheckbox>。我通过在复选框中使用“onclick =”form.submit()“并将下拉列表放在<s:div rendered>中来实现它,但每当页面重新加载时,下拉列表正在使用的变量被重置为首选。我很确定这是因为<s:div>。有人知道如何让它在下拉列表中保持正确的选择吗?谢谢。

以下是复选框和下拉列表的代码:

<h:selectBooleanCheckbox id="checkbox" value="#{printLabel.code}" label="barcode" onclick="changeDropdowns()"/>
<br />
<s:div rendered="#{printLabel.code}">
    <h:outputLabel id="locationLabel" value="&#160;&#160;&#160;Location"/>
    <h:selectOneMenu id="locationDrop" value="#{printLabel.codeLoc}">
        <f:selectItems value="#{printLabel.getBarcodeTypes()}" />
    </h:selectOneMenu> 
</s:div>

1 个答案:

答案 0 :(得分:1)

如果你想用ajax来解决它,你可以这样做: 可能是其他事件然后onclick

<h:selectBooleanCheckbox id="checkbox" value="#{printLabel.code}" label="barcode" >
        <a4j:support event="onclick" reRender="parentdiv" />

</<h:selectBooleanCheckbox>
<br />
<s:div id="parentdiv">
<s:div rendered="#{printLabel.code}">
    <h:outputLabel id="locationLabel" value="&#160;&#160;&#160;Location"/>
    <h:selectOneMenu id="locationDrop" value="#{printLabel.codeLoc}">
        <f:selectItems value="#{printLabel.getBarcodeTypes()}" />
    </h:selectOneMenu> 
</s:div>
</s:div>

添加标签库

xmlns:a4j="http://richfaces.org/a4j"