【问题标题】:make drop-down appear when checkbox is selected选中复选框时出现下拉菜单
【发布时间】:2012-08-09 19:48:22
【问题描述】:

我正在使用 Seam 制作 Java/HTML 程序。我试图在检查<h:selectBooleanCheckbox> 时显示<h:selectOneMenu>。我通过在复选框中使用“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>

【问题讨论】:

    标签: java drop-down-menu checkbox seam


    【解决方案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"
    

    【讨论】:

    • 我以前从未使用过 ajax。当我使用 时,它说它是一个未知标签。我需要下载图书馆或任何东西
    • 不,你需要在页面顶部添加 gthe 标签库,编辑了我关于它的帖子,它是richfaces 的一部分
    • 是的,我在发表评论后立即发现了这一点,哈哈。但它仍然在做同样的事情
    • 你的 printLabel 有什么范围?如果要在页面重新加载后保存值,则需要 Page 或更高版本。
    • 在我的 printLabel bean 中我有 @Scope(ScopeType.CONVERSATION)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    相关资源
    最近更新 更多