2012-05-10 2 views
1

Как я могу заставить пользователя сделать выбор из qooxdoo SelectBox? Я бы хотел, чтобы SelectBox первоначально отображался с пустым выбором (или, еще лучше, «Пожалуйста, выберите ...»). Я хотел бы, чтобы проверка формы завершилась неудачей, если пользователь не сделал выбор, и selectBox появится с красным «недействительным» оформлением и «необходимой» всплывающей подсказкой, как и требуемый textField.Как я могу сделать SelectBox в qooxdoo?

Аналогично для RadioButtonGroup: есть ли способ, чтобы группа изначально отображалась без выбранной кнопки и не стала действительной до тех пор, пока не будет сделан выбор?


Позже ... это, кажется, работает для случая переключателе:

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, а также:

Чтобы получить, что первоначальный невыбранные состояние, добавить невидимый первый списокItem с нулевой моделью:

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

Затем добавьте тот же стиль кода, как для selectionBox, к валидатору формы.

ответ

Смежные вопросы