Я хочу программно запустить ListBox ChangeEvent
. Я нашел функцию, но не понимаю, какой тип параметра мне нужно передать:
DomEvent.fireNativeEvent(NativeEvent - where???, listBox());
Я хочу программно запустить ListBox ChangeEvent
. Я нашел функцию, но не понимаю, какой тип параметра мне нужно передать:
DomEvent.fireNativeEvent(NativeEvent - where???, listBox());
Вы можете запустить собственный ChangeEvent для виджета, используя:
DomEvent.fireNativeEvent(Document.get().createChangeEvent(), yourListBox);
Это старый вопрос, но я хочу поделиться своим решением, потому что оно работает только для меня (gwt.version= 2.6.1 и com.github.jdramaix gwtchosen version = 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
Можно запустить событие с помощью JSNI:
public native void fireOnChange(String elementId)/*-{
var element = $doc.getElementById(elementId);
if ( element )
element.onchange();
}-*/;