我有这些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”中?
答案 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'
}