【问题标题】:JSF selectOneMenu select a item, inputText's readOnly property changesJSF selectOneMenu 选择一个项目,inputText 的 readOnly 属性改变
【发布时间】:2014-09-04 12:08:05
【问题描述】:

我有一个 selectOneMenu 和一个 InputText。当我选择 selectOneMenu 的其他选项时,我想更改 InputText 的 readOnly="false" 属性。

这些是代码

<h:form>    
    <h:selectOneMenu id="customerCombo"
                     value="#{customer.selectedBank}"
                     required="true"
                     requiredMessage="Please select one">

        <f:selectItem itemLabel="Seçiniz" noSelectionOption="true" />
        <f:selectItems value="#{customer.banks}" />         
        <f:selectItem itemValue="Other" itemLabel="Other"/> 

        <f:validateRequired/>
    </h:selectOneMenu>
    <h:message for="customerCombo"/>
    <br /><br />

    <h:outputText value="other text" />

    <h:inputText id="digerText" readonly="true"/>

    <br /><br />
    <h:commandButton value="submit" action="customerResult" />
</h:form>

【问题讨论】:

  • 使用selectOneMenuonchange 属性通过javascript 触发inputTextdisabled 属性可能更容易。
  • 拜托,你能告诉我怎么做吗?
  • @RevanProdigalKnight:不,绝对不要那样做。这不会考虑 JSF 状态。
  • 你使用的是什么 JSF 框架?
  • JSF框架是2.2

标签: jsf selectonemenu


【解决方案1】:
  1. 在您的 @ViewScoped 支持 bean 中定义一个变量,该变量将对应于只读状态

    private boolean readOnly;
    //getter and setter
    
  2. 定义将切换readOnly 变量状态的方法。该方法将通过ajax调用

    public void toggleReadOnly(){
        if(selectedBank.equals("Other"){
          readOnly = true;
        }
    } 
    
  3. 将readOnly变量的值绑定到&lt;h:inputText/&gt;

     <h:inputText id="digerText" readonly="#{bean.readOnly}"/>
    

    bean 是(呵呵)你的 backing bean 的名字

  4. 从下拉菜单中触发 toggleReadOnly 方法

    <h:selectOneMenu id="customerCombo"
                 value="#{customer.selectedBank}"
                 required="true"
                 requiredMessage="Please select one">
        <f:ajax listener="#{bean.toggleReadOnly}" render="digerText"/>
    </h:selectOneMenu>
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多