2

鉴于这种:

<p:selectOneMenu value="#{myBean.selection}" onchange="handleChange();">
    <f:selectItem itemLabel="foo" itemValue="0"/>
    <f:selectItem itemLabel="bar" itemValue="1"/>
</p:selectOneMenu>

<script type="text/javascript">
    function handleChange() {
        // Do something here...
    }
</script>

如何检测 JavaScript 中的选定项目,以便我可以在handleChange()函数中采取适当的操作(例如显示/隐藏 div)?这似乎没有任何文档。

4

1 回答 1

9

选定的值位于 HTML DOM 事件属性中,可由this.value.

<p:selectOneMenu value="#{myBean.selection}" onchange="handleChange(this.value)">
    <f:selectItem itemLabel="foo" itemValue="0"/>
    <f:selectItem itemLabel="bar" itemValue="1"/>
</p:selectOneMenu>

<script type="text/javascript">
    function handleChange(selection) {
        // Do something here with selection...
    }
</script>

这似乎没有任何文档。

这不是针对 JSF,而是针对一般的 HTML/JS,所以应该通过查看 JSF 在客户端生成的 HTML 输出并了解一些基本的 HTML/JS 来找到答案。

于 2012-08-22T01:29:46.727 回答