繁体   English   中英

GWT。以编程方式在ListBox上Fire ChangeEvent。

[英]GWT. Fire ChangeEvent on ListBox programmatically.

我想以编程方式触发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();
}-*/;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM