我想要的內容顯示有問題。基本上,我有一個下拉列表,并且在更改下拉列表中的內容時,我希望頁面的某些輸入可以自己填寫。這是我要填寫的輸入之一。我在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";
}
添加回答
舉報
0/150
提交
取消