如何在gwt中按名称获取文本框

时间:2012-11-30 12:13:03

标签: gwt

假设我的布局面板有多个文本框。

现在我希望通过名称在该面板中获取特定的文本框。我怎么能这样做?

提前致谢。

2 个答案:

答案 0 :(得分:1)

实现此目的的一种方法是在创建文本框时将其保留在hashMap中。 但是你需要注意内存泄漏。 另一种方法是使用GWtQuery。您可以通过名称访问DOM中的任何元素。

要在不使用GWTQuery的情况下获取它,您可以这样做:

Element element = Document.get().getElementById("myTextboxID");
TextBox box = new TextBox();
box.wrap(element);

答案 1 :(得分:0)

由于gwt没有css-selector实现,我会使用gwtquery aka gquery,其选择器实现执行得非常好。

除了许多其他功能外,它还能够返回与任何元素相关联的小部件:

import static com.google.gwt.query.client.GQuery.*;

[...]

// if the textbox is already a widget 
TextBox b = $("input[name=first_name]").widget();

//Or it its an element
TextBox b = TextBox.wrap($("input[name=search]").get(0));   

b.setValue("Foo");