Próbuję uzyskać wybraną wartość dropdownchoice w ramach wicket, ale nie mogę tego uzyskać. Jak mogę uzyskać wybraną wartość DropDownChoice w zdarzeniu zmiany dropdownchoice ??? Dziękuję. i

0
Nishant Nawarkhede 6 marzec 2012, 13:57

2 odpowiedzi

Najlepsza odpowiedź

To proste, wystarczy użyć AjaxFormComponentUpdatingBehavior:

DropDownChoice<String> ddc = new DropDownChoice<String>("ddc", model, Arrays.asList("a", "b", "c"));
ddc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
    @Override
    protected void onUpdate(AjaxRequestTarget target) {
        System.out.println("selected: " + model.getObject());
    }
});
7
Christoph Leiter 6 marzec 2012, 14:40

PropertyModel to dobry wybór w przypadku takich problemów. MyObject jest obiektem i ma ciąg znaków name. Nadpisałem w nim nazwę metody toString() i działa poprawnie. Sugeruję użycie tej metody.

topicDropDown = new DropDownChoice<MyObject>("wicktID", new PropertyModel<MyObject>       (this.object, "exp"), new LoadableDetachableModel<List<MyObject>>() {
        @Override
        protected List<MyObject> load() {
            return top.getAllObjects();

        }
2
Javid Dadashkarimi 27 marzec 2013, 14:13