[英]gwt dynamic adding textbox
@UiHandler("addDynamicTextboxbutton")
void addMoreTextbox(ClickEvent event) {
textboxplaceholder.add(new TextBox(),"textboxplace");
}
單擊addDynamicTextboxbutton按鈕時,將執行此方法並創建新的文本框。 如何有另一個按鈕,以便在單擊時將從每個“ textbox()”中獲取所有值? 還是有必要放置名稱“ new textbox(“ name”)“,以便我可以獲取其所有值? 最佳做法是什么?
如果textboxplaceholder
是和延長的ComplexPanel
,例如FlowPanel
你可以簡單地在子女迭代FlowPanel
:
for (Widget w: textboxplaceholder) {
if (w instanceof TextBox) {
// do something value: ((TextBox)w).getValue();
}
}
您可以使用集合來存儲新添加的TextBox
,以后可以從中獲取所有值。 像這樣:
public class Test extends Composite {
private static TestUiBinder uiBinder = GWT.create(TestUiBinder.class);
interface TestUiBinder extends UiBinder<Widget, Test> {}
@UiField
FlowPanel textboxplaceholder;
@UiField
Button addDynamicTextboxbutton;
private LinkedList<TextBox> boxes;
public Test() {
initWidget(uiBinder.createAndBindUi(this));
boxes = new LinkedList<TextBox>();
}
@UiHandler("addDynamicTextboxbutton")
void addMoreTextbox(ClickEvent event) {
TextBox box = new TextBox();
textboxplaceholder.add(box);
boxes.add(box);
}
}
遍歷存儲在boxes
以獲取所有值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.