Tôi muốn lập trình kích hoạt ChangeEvent
của ListBox. Tôi thấy chức năng, nhưng không hiểu những gì loại tham số tôi cần phải vượt qua:GWT. Fire ChangeEvent trên ListBox lập trình.
DomEvent.fireNativeEvent(NativeEvent - where???, listBox());
Tôi muốn lập trình kích hoạt ChangeEvent
của ListBox. Tôi thấy chức năng, nhưng không hiểu những gì loại tham số tôi cần phải vượt qua:GWT. Fire ChangeEvent trên ListBox lập trình.
DomEvent.fireNativeEvent(NativeEvent - where???, listBox());
Bạn có thể bắn một ChangeEvent gốc vào một widget sử dụng:
DomEvent.fireNativeEvent(Document.get().createChangeEvent(), yourListBox);
Nó được câu hỏi cũ, nhưng tôi muốn chia sẻ giải pháp của tôi, bởi vì nó chỉ là một trong đó làm việc cho tôi (gwt.version = 2.6.1 và com.github.jdramaix phiên bản gwtchosen = 1.2.0)
public class ChosenListBoxNew extends ChosenListBox {
public ChosenListBoxNew() {
super();
}
public void fireUpdateEvent(){
ensureChosenHandlers().fireEvent(new ChosenChangeEvent(this.getValue(), this.getSelectedIndex(), null));
}
}
và bạn có thể bắn cập nhật sự kiện bằng cách gọi fireUpdateEvent() của mới lớp:
moduleSelectionLst.setSelectedIndex(-1); //Update selected value
moduleSelectionLst.update(); //Update UI
moduleSelectionLst.fireUpdateEvent(); // Fire update event
Có thể kích hoạt sự kiện sử dụng JSNI:
public native void fireOnChange(String elementId)/*-{
var element = $doc.getElementById(elementId);
if (element)
element.onchange();
}-*/;
sự kiện cháy chỉ này và không làm thay đổi mục đã chọn. –
Saeed Zarinfam: đặt mục trước, sau đó kích hoạt sự kiện bằng lời khuyên của Strelok. – Vlad