1

我有一个用于获取金额的文本框,即 100 美元。

我的文本框已经有一个 $ 符号:

<g:TextBox ui:field="fee">$</g:TextBox>

我想要的是用户永远不能在我的文本框中删除/编辑 $ 符号,并且只能在 $ 符号之后输入金额,

这可能吗?

4

2 回答 2

2
于 2012-09-29T14:01:25.773 回答
0

这应该使用事件工作

button.addKeyPressHandler(new KeyPressHandler() {
  public void onKeyPress(KeyPressEvent event) {
    TextBox b = (TextBox)event.getSource();
    if (!b.getValue().startsWith("$")) {
      b.setValue("$" + b.getValue());
    }
  }
});

尽管基于 css 的解决方案应该看起来和性能更好:

在输入框上放一个带有 $ 符号的领结。

Label l = new Label("$");
TextBox b = new TextBox();
l.getElement().addClassName("dollarlabel");
b.getElement().addClassName("dollarinput");
RootPanel.get().add(b);
RootPanel.get().add(l);

和一些 CSS 样式

.dollarlabel {
  position: relative;
  float: left;
}
.dollarinput {
  margin-left: -10px;
  padding-left: 10px;
}
于 2012-09-29T09:00:48.483 回答