Ошибка инициализации компонентов primefaces в javascript. PF('..') undefined
У меня есть выпадающий список.
<p:selectOneMenu id="menuId" value="#{mainPageBean.selectedStr}" widgetVar="menuJs"
effect="fade" filter="true" filterMatchMode="startsWith">
<p:ajax listener="#{mainPageBean.menuChange}" />
<f:selectItem itemLabel="Select One" itemValue=""/>
<f:selectItems value="#{mainPageBean.names}"/>
</p:selectOneMenu>
Во время клика по элементу формы, выполняется скрипт на js, который должен изменить значение в selectOneMenu.
function menuSet() {
PF('menuJs').selectValue('Моё значение');
}
Если сразу попытаться кликнуть по элементу формы и вызвать menuSet(), то PF('...') становится undefined, это я определил через debugger браузера. Однако, если сперва выбрать какой-нибудь любой элемент в selectOneMenu, а затем вызывать menuSet(), то PF('...') нормально определяется в js и значение меняется. Я подозреваю, что до первого обращения к элементу primefaces, в javascript список элементов не инициализирован, как это исправить?