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

Call specific JavaScript function when specific item of h:selectOneMenu is selected

我有 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。

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

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