1

我正在使用 jsf 2.0 和 ajax,当我从下拉框中选择项目时,我希望它显示 showTime 列表中的项目

xhtml 文件:

                <tr>
                <td>Movies:</td>
                <td>
                    <h:selectOneMenu value="#{locationBean.movie}"
                                     disabled="#{locationBean.movieListDisabled}"
                                     id="movieList">
                        <f:selectItems value="#{locationBean.movies}"/>
                        <f:ajax render="showTime"/>
                    </h:selectOneMenu></td>
            </tr>
            <tr>
                <td>Availablity:</td>
                <td>
                    <ui:repeat value="#{locationBean.showTime}" var="item" id="showTime">
                        <div><h:inputText value="#{item.value}" id="showTime"/></div>
                    </ui:repeat>
                </td>
            </tr>

从 bean 我返回 showTiming 的列表..

如何克服这个错误

4

1 回答 1

1

来自 BalusC:“它本身不会生成任何 HTML,因此 JS/Ajax 无法在 HTML 中找到任何要更新/渲染的内容”

尝试这样的事情:

<tr>
    <td>Movies:</td>
    <td>
        <h:selectOneMenu value="#{locationBean.movie}" disabled="#{locationBean.movieListDisabled}" id="movieList">
            <f:selectItems value="#{locationBean.movies}"/>
            <f:ajax event="change" render="showTimePanel"/>
        </h:selectOneMenu>
    </td>
</tr>
<tr>
    <td>Availablity:</td>
    <td>
        <h:panelGroup id="showTimePanel">
            <ui:repeat value="#{locationBean.showTime}" var="item">
                <div><h:inputText value="#{item.value}"></div>
            </ui:repeat>
        </h:panelGroup>
    </td>
</tr>
于 2013-03-12T20:21:01.810 回答