当选择h:selectOneMenu的特定项时,调用特定的JavaScript函数

时间:2015-05-06 17:06:37

标签: javascript ajax jsf-2

我有ajax

<h:selectOneMenu>
<f:selectItem itemLabel="please click"/>
<f:selectItem itemLabel="1"/>
<f:selectItem itemLabel="2"/>
<f:ajax onevent="click()" />
</h:selectOneMenu>

我有onChange

<h:selectOneMenu onChange="click()>
<f:selectItem itemLabel="please click"/>
<f:selectItem itemLabel="1"/>
<f:selectItem itemLabel="2"/>    
</h:selectOneMenu>

如果我尝试相同的属性selectItem,它不起作用。我认为它们不存在。

我使用了ajax,onChange,但它似乎对于selectonemenu而言并不是特别适用于selectItem。

1 个答案:

答案 0 :(得分:6)

只需将选定的值传递给JS函数,然后JS函数将根据它进一步委托。

<h:selectOneMenu onchange="foo(this.value)">
    ...
</h:selectOneMenu>
function foo(selectedValue) {
    switch (selectedValue) {
        case "1": bar(); break;
        case "2": baz(); break;
        // ...
    }
}