我有一个 Wicket DropDownChoice,我试图避免使用 Ajax 方法。选择一个值后,我希望选择是只读的,用户不能再次更改它。
final DropDownChoice<Pet> dropdown = new DropDownChoice<Pet>("dropdown",
new PropertyModel<Pet>(this, "selected"), list, choiceRenderer) {
// code here
}
我有一个 Wicket DropDownChoice,我试图避免使用 Ajax 方法。选择一个值后,我希望选择是只读的,用户不能再次更改它。
final DropDownChoice<Pet> dropdown = new DropDownChoice<Pet>("dropdown",
new PropertyModel<Pet>(this, "selected"), list, choiceRenderer) {
// code here
}
如果不使用 Ajax 或 jQuery,似乎不可能将下拉菜单设为“只读”。我对此不满意,我会找到替代解决方案。无论如何谢谢你的帮助
尝试使用属性修饰符将为您做到这一点
dropdown.add(new AttributeModifier("disabled", "true");
如果您想避免使用 Ajax(即使用 Wicket)使其成为只读,那么您应该使用自定义 JavaScript 来实现。例如使用 jQuery:
jQuery('#petDropdown').change(jQuery(this).attr('disabled', 'disabled'));
即disabled="disabled"
在第一个更改事件上将属性设置为 HTMLSelectElement。