Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jsf&;更改输入值;AJAX_Java_Ajax_Jsf_Xhtml - Fatal编程技术网

Java 使用jsf&;更改输入值;AJAX

Java 使用jsf&;更改输入值;AJAX,java,ajax,jsf,xhtml,Java,Ajax,Jsf,Xhtml,我对我想要的东西的显示有问题。基本上,我有一个下拉列表,当下拉列表中的内容发生变化时,我需要一些自己填写的页面输入。 这是我要填写的输入之一。我使用ajax方法调用侦听器。 XHTML代码: <h:outputText value="Version" styleClass="section-label"/> <h:inputText id="version" value="#{contextSchemeDetailBean.contextScheme.s

我对我想要的东西的显示有问题。基本上,我有一个下拉列表,当下拉列表中的内容发生变化时,我需要一些自己填写的页面输入。 这是我要填写的输入之一。我使用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>
现在我想做的是,在下拉列表中选择的值的每次更改中,将这些值放入我的输入中。我知道这一定不难,但我不熟悉jsf。谢谢

我的液滴列表编码如下:

                <h:outputText value="Code List" styleClass="section-label"/>
            <p:autoComplete id="inputCodeList"
                            requiredMessage="Please fill out 'Code List' field."
                            styleClass="section-content input-section"
                            completeMethod="#{codeListBean.completeInput}"
                            dropdown="true" scrollHeight="220"
                            itemValue="#{codeListBaseBean.codeList.listId}">
                <p:ajax event="itemSelect" listener="#{codeListBaseBean.onSelectCodeList}"/>
            </p:autoComplete>


-S

您需要在下拉列表中添加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>

我试过了,但这不起作用,实际上,当你说“我想填充这个输入”时,代码中的时刻在哪里?inputText的值将是
{bean.selectedVal}
的值,你需要确保你的inputText的id与
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";
}