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

ash*_*sha 0 javascript ajax jsf-2

我有阿贾克斯

<h:selectOneMenu>
<f:selectItem itemLabel="please click"/>
<f:selectItem itemLabel="1"/>
<f:selectItem itemLabel="2"/>
<f:ajax onevent="click()" />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)

我有onChange

<h:selectOneMenu onChange="click()>
<f:selectItem itemLabel="please click"/>
<f:selectItem itemLabel="1"/>
<f:selectItem itemLabel="2"/>    
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)

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

我使用了ajax,onChange,但是selectonemenu似乎不起作用,但selectItem却没有。

Bal*_*usC 6

只需将选定的值传递给JS函数,该函数便会进一步基于它进行委托。

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