У меня вопрос по поводу ListMultipleChoice, есть ли возможность получить выбранные элементы перед отправкой, например, по ajax-ссылке, потому что я бы не обновлял свою страницу каждый раз.
Спасибо!
// Liste des partenaires de l'offre.
final ListMultipleChoice partenairesSelec =
new ListMultipleChoice("partenairesSelec", new Model((Serializable) partenairesSelected), new PropertyModel(
offre,
"partenaires"), renderer);
// Liste des domaines.
final DropDownChoice makes = new DropDownChoice("domaines", new PropertyModel(this, "selectedMake"), makeChoices) {
@Override
protected CharSequence getDefaultChoice(Object selected) {
return new ArrayList<String>(modelsMap.keySet()).get(0);
}
};
// Liste des partenaires disponibles.
final ListMultipleChoice partenairesChoice =
new ListMultipleChoice("partenaires", new Model((Serializable) partenairesSelection), modelChoices, renderer);
// Action associé au changement du domaine.
makes.add(new AjaxFormComponentUpdatingBehavior("onchange") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
target.addComponent(partenairesChoice);
}
});
// Bouton ajouter.
Button ajout = new Button("ajout") {
@Override
public void onSubmit() {
if (partenairesSelection.size() != 0) {
for (Partenaire p : partenairesSelection) {
if (!partenairesSelected.contains(p)) {
offre.getPartenaires().add(p);
modelsMap.get(selectedMake).remove(p);
}
}
offre.setPartenaires(sortPartenaireList(offre.getPartenaires()));
}
}
};
// Bouton supprimer.
Button suppr = new Button("suppr") {
@Override
public void onSubmit() {
List<Partenaire> tmp = new ArrayList<Partenaire>();
if (partenairesSelected.size() != 0) {
for (Partenaire p : partenairesSelected) {
if (!partenairesSelection.contains(p)) {
Long id = p.getPartnerDomainId();
tmp.add(p);
for (String key : modelsMap.keySet()) {
if (modelsMap.get(key).size() > 0 && modelsMap.get(key).get(0).getPartnerDomainId() == id) {
modelsMap.get(key).add(p);
}
}
}
}
for (Partenaire p : tmp) {
offre.getPartenaires().remove(p);
}
offre.setPartenaires(sortPartenaireList(offre.getPartenaires()));
}
}
};