将值设置为GWT复选框



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

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'。

属性"value= on/off"对于复选框有一些预定义的含义。因此,不要使用属性"value"来存储数字。

如果你真的想存储数字,使用你自己的自定义属性,如-

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

和访问属性使用-

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

使用setFormValue设置checkBox的值为"someValue"

  checkBox.setFormValue("someValue");

相关内容

  • 没有找到相关文章

最新更新