Я пытаюсь добавить АЯКС поведение selectoneradio с этим кодом:Обновление флажок с помощью кнопки радио
XHTML:
<h:selectOneRadio id="metalA" converter="metalConverter" value="#{backingBean.metal.metalCode">
<f:selectItems value="#{backingBean.metalCodeRadio}" />
<f:ajax listener="#{backingBean.updateMenu}" event="click" execute="metalA" render="metalTypeMenuA"/>
</h:selectOneRadio>
<p:outputPanel id="panelA">
<h:selectOneMenu id="metalTypeMenuA" converter="metalConverter" value="#{backingBean.order.metal}" rendered="#{teklifIslemleriBean.selectedITip == 1}">
<f:selectItems value="#{backingBean.metalDetailsMenu}" />
</h:selectOneMenu>
</p:outputPanel>
резервного боб:
MetalCode selectedMK = null;
public void updateMenu(AjaxBehaviorEvent event) {
System.out.println("Entered to updateMenu method");
if (metal.getMetalKod()!= null) {
electedMK = aMetal.getMetalCode();
}
if (selectedMK != null) {
// metalTypeMenuA Combobox
List<Metal> metalList = aService.getAccToMetalCode(null, selectedMK);
System.out.println("MetalList:" + metalList.size());
metalTypeMenuA.clear();
for (Metal m : metalList) {
metalTypeMenuA.add(new SelectItem(m, "No:" + m.getMetalNo() + " ,Weight: " + m.getWeight();
}
}
}
Однако это не даже введите метод updateMenu. вместо того, чтобы щелкнуть, я попробовал выбрать, изменить и т. д. Я также попытался поместить панель обложки и обновить ее вместо флажка, все равно ничего хорошего. Что не так с вышеуказанным кодом? Обновляется ли флажок с изменением в радиобуне? Заранее спасибо.
JSF 2.0 Primefaces 2.2.1
EDIT: я добавил следующие
<h:message for="metalA" id="messaged"/>
<f:ajax listener="#{backingBean.updateMenu}" event="click" execute="metalKoduA" execute="metalA" render="messaged orderPG2"/>
orderPG2 является оберткой флажок. Но все же я могу получить любое сообщение об ошибке в сообщении h: message или любое поведение ajax.
Во-первых, спасибо за подробный ответ. Я попытался отобразить компонент панели, который обертывает флажок, но результата нет. Он повторно отображает панель, но даже не входит в метод в бэкэнде. Я прочитал журналы сервера, не смог найти соответствующую запись в журнале. Я знаю, что известная ошибка «Value is not valid»! Мне стоило 2 дня, чтобы узнать причину этого! :) На самом деле я уже пользуюсь . Но в нем нет сообщения об ошибке. Я попробую h: message. –
lamostreta
Я также пробовал h: сообщение, но ничего не происходит .. (я добавил код выше) – lamostreta
Я думаю, что есть ошибка с ajax-поведением selectoneradio. Через 2 дня я меняю его на selectonemenu и вуаля! Оно работало завораживающе. – lamostreta