如何在qooxdoo中创建一个SelectBox?

时间:2012-05-10 20:39:07

标签: qooxdoo

如何强制用户从qooxdoo SelectBox中进行选择?我希望SelectBox最初显示为空选(或更好的是,“请选择...”消息)。如果用户没有做出选择,我希望表单验证失败,并且selectBox出现红色“无效”装饰和“必需”工具提示,就像所需的textField一样。

同样对于RadioButtonGroup:有没有办法让小组最初显示时没有选择任何按钮,并且在做出选择之前不会生效?


稍后......这似乎适用于SelectBox案例:

var genderSlct = new qx.ui.form.SelectBox();
genderSlct.add(new qx.ui.form.ListItem("")); // initially selected null item
genderSlct.add(new qx.ui.form.ListItem("Male", null, "M"));
genderSlct.add(new qx.ui.form.ListItem("Female", null, "F"));
...

myForm.getValidationManager().setValidator(function(items) {
    var valid = true;

    if (genderSlct.getSelection()[0].getModel() == null) {
        genderSlct.setValid(valid = false);
        genderSlct.setInvalidMessage("Please select your gender.");
    }   
    ...   

    if (valid) {
        genderSlct.setValid(true);
        ...
        return true;
    } else {
        return false;
    }   
});

后来仍然......为RadioButtonGroup找到了一个解决方案:

要获得初始未选择状态,请使用null model添加不可见的第一个listItem:

myRbg.add(new qx.ui.form.RadioButton("").set({
     model: null, visibility: "excluded"
}));

然后将与selectionBox相同的代码样式添加到表单验证器中。

1 个答案:

答案 0 :(得分:0)

查看这个演示,它提供了您在SelectBox案例中寻找的内容: http://demo.qooxdoo.org/2.0.1/demobrowser/index.html#data~Form.html

您只需在验证器中检查选择。