将值设置为GET复选框

时间:2013-03-05 12:26:04

标签: html gwt user-interface checkbox

我想将值(数字或字符串)设置为复选框。这段代码

final CheckBox checkBox = new CheckBox("Some label");
checkBox.getElement().setAttribute("value", i.toString());
checkBox.getElement().getStyle().setProperty("color", colorList.get(i));
checkBox.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            Object sender = event.getSource();
            if (sender == checkBox) {
                CheckBox checkBox = (CheckBox)event.getSource();
                Window.alert(checkBox.getFormValue());
            }
        }
});

创建以下HTML:

<td align="left" style="vertical-align: top;">
<span class="gwt-CheckBox" value="3" style="color: rgb(128, 105, 155);">
<input id="gwt-uid-4" type="checkbox" value="on" tabindex="0">
<label for="gwt-uid-4">Some label</label>
</span>
</td>

属性value设置为span而不是inputWindow.alert(checkBox.getFormValue())显示带有字符串'on'的消息,而不是'3'。

2 个答案:

答案 0 :(得分:3)

属性“value = on / off”具有复选框的某些预定义含义。因此,请勿使用属性“value”来存储数字。

如果您真的想存储这些数字,请使用您自己的自定义属性,例如 -

checkBox.getElement().getFirstChildElement().setAttribute( "customProperty", "3" );

并访问该属性使用 -

checkBox.getElement().getFirstChildElement().getAttribute( "customProperty" );

答案 1 :(得分:2)

使用setFormValue

checkBox的值设置为"someValue"
  checkBox.setFormValue("someValue");