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 に答える