Я использую wicket's CheckBoxMultipleChoice, чтобы позволить пользователю установить список опций. пока все работает нормально. но затем я хочу добавить флажок «проверить все», который проверяет все параметры в CheckBoxMultipleChoice, и у меня возникают проблемы с этим.
вот мой начальный код
ArrayList<String> chosen;
List<String> choices = Arrays.asList(new String[]{"Train", "Bus", "Car"});
CheckBoxMultipleChoice myCheck = new CheckBoxMultipleChoice("transport", new Model(chosen), choices));
myCheck.setOutputMarkupId(true);
form.add(myCheck);
при отправке я распечатаю выбранные значения и их «Автобус», «Автомобиль» и т. Д., Как и ожидалось.
Теперь я добавляю флажок, чтобы проверить все варианты, используя ajax:
Boolean checkOrNot;
final CheckBox checkAll = new CheckBox("checkAll", new Model(checkOrNot));
form.add(checkAll);
checkAll.add(new AjaxFormComponentUpdatingBehavior("onchange") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
// here i am not able to set the checkboxes
// i tried doing this
chosen.clear();
chosen.add(new String("Car"));
chosen.add(new String("Train"));
myCheck.modelChanged();
// i have also tried recreating the multiple choice
myCheck = new CheckBoxMultipleChoice<T>("transport", new Model(chosen), choices);
myCheck.setOutputMarkupId(true);
target.addComponent(myCgecj);
target.addComponent(form);
}
});
У меня заканчиваются идеи, и мне интересно, есть ли у кого-нибудь решения? заранее спасибо за любую помощь.