Wicket DropDownChoice только для чтения

У меня есть Wicket DropDownChoice, и я пытаюсь избежать использования методов Ajax. После выбора значения я хочу, чтобы выбор был только для чтения, и пользователь не мог изменить его снова.

final DropDownChoice<Pet> dropdown = new DropDownChoice<Pet>("dropdown",
                new PropertyModel<Pet>(this, "selected"), list, choiceRenderer) {
// code here
}

3 ответа

Попробуйте использовать атрибут модификатор сделает это за вас

dropdown.add(new AttributeModifier("disabled", "true"); 

Если вы хотите избежать использования Ajax (т.е. использовать Wicket), чтобы сделать его доступным только для чтения, то вам следует делать это с помощью пользовательского JavaScript. Например, используя jQuery:

jQuery('#petDropdown').change(jQuery(this).attr('disabled', 'disabled'));

т.е. установить disabled="disabled" атрибут HTMLSelectElement при первом событии изменения.

Похоже, что сделать раскрывающийся список "только для чтения" невозможно без использования Ajax или jQuery. Я не доволен этим, и я найду альтернативное решение. В любом случае спасибо за вашу помощь

Другие вопросы по тегам