我正在使用wicket的CheckBoxMultipleChoice來讓用戶設置選項列表。到目前爲止它工作正常。但後來我想添加一個「全選」複選框,檢查CheckBoxMultipleChoice中的所有選項,並且遇到問題。Wicket:如何在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);
}
});
我運行的想法,並想知道如果任何人有任何解決方案?在此先感謝您的幫助。
另外我想知道CheckGroup在這種情況下是否會是更好的選擇? – amango 2011-05-09 07:01:00