在onchange回调中读取<p:selectonemenu>的客户端值</p:selectonemenu>

时间:2012-08-22 01:12:31

标签: java javascript jsf-2 primefaces

鉴于此:

<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)?似乎没有任何相关文档。

1 个答案:

答案 0 :(得分:8)

所选值位于this.value可用的HTML DOM事件属性中。

<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来找到答案。