[英]Enable and select values of Drop-down based on the value selected in another Drop-down
[英]Two drop-downs in a panel but want to enable the second one only when first drop-down's value is selected
有兩個下拉選項可用。 一個啟用,另一個在啟動時禁用。 當第一個下拉列表填滿它的選擇時,將只啟用第二個下拉列表。 這應該使用 select2choice 抽象類或 ChoiceProvider 來完成
private static class ValueEditor extends Select2Choice<String> {
private static final long serialVersionUID = SingleFiniteValueEditor.serialVersionUID;
ValueEditor(String id, EditableSingleFiniteModel<?> model, ChoiceProvider<String> provider) {
super(id, model.valueModel(), provider);
setOutputMarkupId(true);
getSettings().setDropdownAutoWidth(true);
getSettings().setCloseOnSelect(true);
getSettings().setPlaceholder("");
getSettings().setAllowClear(!model.mandatory());
}
您可以通過定位第一個下拉列表來使用 if else 語句,當有輸入時,第二個下拉列表會激活。 下面是一個例子:
if (combobox1.equals("yourChoice"))
{
combobox2.enable();
} else
{
combobox2.disable();
}
看看 Wicket 的例子: http : //examples8x.wicket.apache.org/ajax/choice源代碼在Source code > ChoicePage
或這里
基本上你需要從
models.setEnabled(false);
如果makes
具有值,則啟用它:
makes.add(new AjaxFormComponentUpdatingBehavior("change")
{
@Override
protected void onUpdate(AjaxRequestTarget target)
{
models.setEnabled(makes.getModelObject() != null);
target.add(models);
}
});
您只需要將其調整為 Select2 組件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.