javascript - 获取 p :selectOneMenu in JavaScript 的选定值

标签 javascript jsf jsf-2 primefaces selectonemenu

我需要获取 <p:selectOneMenu> 的值在javascript中,但我得到的结果是null。我可以调用该函数,但是当我尝试访问 <p:selectOneMenu> 的值时。我在警报框中得到空值。

请找到以下代码。

<p:outputLabel for="year" value="Year: " /> 
        <p:selectOneMenu id="year" style="width:150px   " value="#{someBean.year}">
        <f:selectItem itemLabel="All" itemValue="All"/>
        <f:selectItem itemLabel="2014" itemValue="2014"/>
        <f:selectItem itemLabel="2013" itemValue="2013"/>
        <f:selectItem itemLabel="2012" itemValue="2012"/>
        <f:selectItem itemLabel="2011" itemValue="2011"/>
        <f:selectItem itemLabel="2010" itemValue="2010"/>
        <f:selectItem itemLabel="2009" itemValue="2009"/>
    </p:selectOneMenu>

Javascript函数:

function validateYearMonth()
{
    var yearValue1=document.getElementById('Form:year_input');
    var yearValue2=document.getElementById('Form:year');
    alert(yearValue1);
    alert(yearValue2);

}

调用函数:

 <p:commandButton id="Submit" action="#{someBean.functionName}"
    onclick="validateYearMonth()" value="Submit" ajax="false" style="float:right;">
  </p:commandButton>

我不明白出了什么问题。 虽然我能够获取元素如果我正在这样做

var yearValue1=document.getElementById('Form:year_input');

但我无法获取该值。非常感谢任何帮助。

最佳答案

一个非常简单的方法是设置一个 widgetVar 名称,然后获取当前值!

<p:selectOneMenu widgetVar="yearWV">

javascript 中(PF 4 及更高版本)

PF('yearWV').value

您可以立即在控制台中进行测试

enter image description here

关于javascript - 获取 p :selectOneMenu in JavaScript 的选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25152198/

相关文章:

java - JSF/JPA 错误 : The class 'java.lang.String' does not have the property

jsf-2 - 货币转换器可以在未输入时忽略 $ 符号吗

javascript - angularjs - 鼠标按下并在鼠标按下事件时在元素上移动?

javascript - 如何在处理点击事件之前等待渲染?

java - 如何关闭 p :password? 的重新显示

jsf - Spring MVC + Facelets,有可能吗?

java - JSF : Issues with File Upload using Icefaces component

java - Ajax Facelets 支持的 "events"是什么?

javascript - 如何在ajax加载时显示灯箱背景

javascript - 直到为时已晚才应用 slider jquery 类