猿问

使用jsf和Ajax更改输入值

我想要的内容显示有问题。基本上,我有一个下拉列表,并且在更改下拉列表中的内容时,我希望页面的某些输入可以自己填写。这是我要填写的输入之一。我在ajax方法上调用侦听器。XHTML代码:


<h:outputText value="Version" styleClass="section-label"/>

            <h:inputText id="version" value="#{contextSchemeDetailBean.contextScheme.schemeVersionId}"

                         required="true" maxlength="45"

                         requiredMessage="Please fill out 'Version' field."

                         label="Version" styleClass="section-content input-section">

                <f:validateLength maximum="45"/>

                <p:ajax listener="#{codeListBaseBean.onSelectCodeList}"/>

            </h:inputText>

Java代码使我能够很好地填充那些输入(GetBlablaFromblabla)。


JavaBean代码:


 public void onSelectCodeList(SelectEvent event){

    setSelectedCodeListName(event.getObject().toString());

    System.out.println("Element selectionne :" + event.getObject());

    System.out.println("Agency Id correspondant :" + GetAgencyIdFromCodeListName(event.getObject().toString()));

    System.out.println("Version correspondante :" + GetVersionFromCodeListName(event.getObject().toString()));

    //System.out.println("agency id ="+agencyIdListValueRepository.findOne(GetAgencyIdFromCodeListName(event.getObject().toString())).getAgencyIdListValueId());

    //System.out.println("agency id ===="+getAgencyIdListValues());

    //setAgencyIdListValue(agencyIdListValueRepository.findOne(GetAgencyIdFromCodeListName(event.getObject().toString())));

    System.out.println("=======================================");

   }

现在,我想做的就是将这些值放在下拉列表中所选值的每次更改中的输入中。我知道这一定不难,但我对jsf不熟悉。谢谢 !




蛊毒传说
浏览 177回答 1
1回答

慕运维8079593

您需要在下拉列表中添加ajax标记,并使用它render来更新输入文本字段的值。<h:form id="myForm">&nbsp; &nbsp; <h:selectOneMenu value="#{bean.selectedVal}">&nbsp; &nbsp; &nbsp; &nbsp; <f:selectItems value="#{bean.someValues}"/>&nbsp; &nbsp; &nbsp; &nbsp; <f:ajax listener="#{bean.selectValueChanged}" render="myForm:inputToBeUpdated"/>&nbsp; &nbsp; </h:selectOneMenu>&nbsp; &nbsp; <h:inputText id="inputToBeUpdated" value="#{bean.inputTextVal}"/></h:form>豆角,扁豆String selectedVal;String inputTextVal;void selectValueChanged() {&nbsp; &nbsp; &nbsp;//set value of the input text&nbsp; &nbsp; &nbsp;inputTextVal = "some value";}
随时随地看视频慕课网APP

相关分类

Java
我要回答