Event listener for SelectManyCheckbox is not invoked when a checkbox is clicked.
My SelectManyCheckbox code:
SelectManyCheckbox smcb = new SelectManyCheckbox();
UISelectItem item = new UISelectItem();
item.setItemValue("ItemValue");
item.setItemLabel("ItemLabel");
smcb.getChildren().add(item);
I have tried AjaxBehavior:
AjaxBehavior ajaxBeh = (AjaxBehavior) fc.getApplication().createBehavior(AjaxBehavior.BEHAVIOR_ID);
ajaxBeh.setRender(Collections.singletonList("@this"));
ajaxBeh.setExecute(Collections.singletonList("@this"));
ajaxBeh.setImmediate(true);
ajaxBeh.setTransient(true);
ajaxBeh.addAjaxBehaviorListener(new AjaxBehaviorListener() {
@Override
public void processAjaxBehavior(AjaxBehaviorEvent e)
throws AbortProcessingException {
System.out.println("Event Triggered");
}
});
smcb.addClientBehavior("change",ajaxBeh);
and also ValueChangeListener:
public class CustomValueChangeListener implements ValueChangeListener {
@Override
public void processValueChange(ValueChangeEvent arg0)
throws AbortProcessingException {
System.out.println("processValueChange");
}
}
smcb.addValueChangeListener(new CustomValueChangeListener ());
Both of the above methods do not work.
How can I setup an event listener so that it gets called when a checkbox is selected or unselected?