GWT.Запустите ChangeEvent в ListBox программным способом. - PullRequest
17 голосов
/ 12 марта 2012

Я хочу программно запустить ListBox ChangeEvent.Я нашел функцию, но не понимаю, какой тип параметра мне нужно передать:

DomEvent.fireNativeEvent(NativeEvent - where???, listBox());

Ответы [ 3 ]

30 голосов
/ 12 марта 2012

Вы можете запустить собственный ChangeEvent для виджета, используя:

DomEvent.fireNativeEvent(Document.get().createChangeEvent(), yourListBox);
0 голосов
/ 12 мая 2017

Можно запустить событие, используя JSNI:

public native void fireOnChange(String elementId)/*-{
    var element = $doc.getElementById(elementId);
    if ( element )
        element.onchange();
}-*/;
0 голосов
/ 22 июля 2015

Это старый вопрос, но я хочу поделиться своим решением, потому что оно работает только для меня (gwt.version = 2.6.1 и com.github.jdramaix gwtchosen версия = 1.2.0)

public class ChosenListBoxNew extends ChosenListBox {
    public ChosenListBoxNew() {
    super();
    }

    public void fireUpdateEvent(){
    ensureChosenHandlers().fireEvent(new ChosenChangeEvent(this.getValue(), this.getSelectedIndex(), null));
    }
}

И вы можете запустить событие обновления, вызвав fireUpdateEvent () нового класса:

moduleSelectionLst.setSelectedIndex(-1); //Update selected value
moduleSelectionLst.update(); //Update UI
moduleSelectionLst.fireUpdateEvent();  // Fire update event
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...