Как выбрать несколько элементов в pickList(Primefaces)?
Я пытаюсь сделать подборку. И я хочу, чтобы несколько элементов были выделены одним щелчком мыши. Как я могу этого достичь?
2 ответа
Вы можете использовать событие передачи ajax на стороне сервера или атрибут обратного вызова onTransfer на стороне клиента.
<p:ajax event="transfer" listener="#{foo.addOtherItemsToTranferList}" />
-ИЛИ ЖЕ-
<p:pickList ... onTransfer="foo.bar()">
Я беру это с сайта Primefaces на ваш взгляд, я думаю, у вас будет что-то вроде этого
<h:form>
<p:selectBooleanCheckbox value="#{selectBooleanView.value1}" label="parent">
<p:ajax update="cb1 cb2" listener="#{selectBooleanView.yourLogic}" />
</p:selectBooleanCheckbox>
<p:selectBooleanCheckbox id="cb1" value="#{selectBooleanView.value2}" label="son1"/>
<p:selectBooleanCheckbox id="cb2" value="#{selectBooleanView.value3}" label="son2"/>
</h:form>
Посмотрите в предыдущем коде, тег ajax вызывает управляемый бин и обновляет некоторые элементы на основе идентификатора.
Ваш управляемый компонент SelectBooleanView.java
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
@ManagedBean
public class SelectBooleanView {
private boolean value1;
private boolean value2;
private boolean value3;
public boolean isValue1() {
return value1;
}
public void setValue1(boolean value1) {
this.value1 = value1;
}
public boolean isValue2() {
return value2;
}
public void setValue2(boolean value2) {
this.value2 = value2;
}
public boolean isValue3() {
return value3;
}
public void setValue3(boolean value3) {
this.value3 = value3;
}
public void yourLogic() {
this.value3= value1;
this.value2=value1;
}
}