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

77
8

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

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

спросил(а) 2018-12-04T11:01:00+03:00 1 год, 7 месяцев назад
1
Решение
68

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

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

ответил(а) 2018-12-06T08:48:00+03:00 1 год, 7 месяцев назад
39

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

ответил(а) 2018-12-04T19:10:00+03:00 1 год, 7 месяцев назад
38

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

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

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

ответил(а) 2018-12-04T11:27:00+03:00 1 год, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема