为了账号安全,请及时绑定邮箱和手机立即绑定

使用jsf和Ajax更改输入值

使用jsf和Ajax更改输入值

蛊毒传说 2021-05-03 21:37:12
我想要的内容显示有问题。基本上,我有一个下拉列表,并且在更改下拉列表中的内容时,我希望页面的某些输入可以自己填写。这是我要填写的输入之一。我在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不熟悉。谢谢 !
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

您需要在下拉列表中添加ajax标记,并使用它render来更新输入文本字段的值。


<h:form id="myForm">

    <h:selectOneMenu value="#{bean.selectedVal}">

        <f:selectItems value="#{bean.someValues}"/>

        <f:ajax listener="#{bean.selectValueChanged}" render="myForm:inputToBeUpdated"/>

    </h:selectOneMenu>


    <h:inputText id="inputToBeUpdated" value="#{bean.inputTextVal}"/>

</h:form>

豆角,扁豆


String selectedVal;

String inputTextVal;


void selectValueChanged() {

     //set value of the input text

     inputTextVal = "some value";

}


查看完整回答
反对 回复 2021-05-19
  • 1 回答
  • 0 关注
  • 176 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信