如何将JSF SelectItem的值作为参数放入javaScript方法?

时间:2014-01-28 07:53:09

标签: javascript jsf

我有这些selectOneMenu组件,现在我想在js方法中将所选值作为参数:

     <h:selectOneMenu id="onlyThis" value="#{bean.prio}"
        valueChangeListener="#{bean.prioChangeListener}" >
          <f:selectItems value="#{bean.prioSelectItems}" />
          <a4j:support event="onchange" ajaxSingle="true"                                           
               oncomplete="jsmethod(this.value).text;" /> 
     </h:selectOneMenu> 

使用“this.value”我只得到键“1”作为selectItems的整数,但我想获取值。以下是“bean.prioSelectItems”的单个SelectItem的示例:

new SelectItem(1, "SomeText");

我想获得值“SomeText”。

如何将此值作为参数放在js方法“jsmethod”中?

1 个答案:

答案 0 :(得分:1)

下拉列表

<select id="onlyThis">
    <option id="one" value="one">One</option>
</select>

JavaScript将返回

document.getElementById("one").value; //will return 'one'
document.getElementById("one").text; //will return 'One'

或者您可以通过父

访问所选选项
document.getElementById("onlyThis").options[document.getElementById("onlyThis").selectedIndex];

如果你明白了解决方案那么将是:

oncomplete="jsmethod(this)"

function jsmethod(elem) {
    var selectedText = elem.options[elem.selectedIndex].text; //will equal to 'SomeText'
}