GWT ListBox — как отключить элемент listbox?

#dom #gwt #listbox

#dom #gwt #listbox

Вопрос:

Как я могу отключить первый элемент в listbox? Ниже приведен мой код:

 ListBox list  = new ListBox();
list.addItem("Select an item");
list.addItem("a");
list.addItem("b");
list.addItem("c");
  

Как мне отключить первый элемент в списке?
Большое спасибо

Ответ №1:

Для всех, кто находит эту страницу и хочет отключить опцию GWT ListBox, которая НЕ является первой опцией в ListBox, это сработало для меня:

 list.getElement().getElementsByTagName("option").getItem(itemNumber).setAttribute("disabled", "disabled");
  

Где ItemNumber — это параметр, который вы хотели бы отключить.

Ответ №2:

Вы могли бы выбрать первый дочерний элемент и установить атрибут disabled:

 list.getElement().getFirstChildElement().setAttribute("disabled", "disabled");
  

Комментарии:

1. Вместо того, чтобы выполнять манипуляции с DOM, выполните: list.getElement(). <SelectElement>приведение().GetOptions().GetItem(0).setDisabled(истина);

Ответ №3:

 list.getElement().<SelectElement>cast().getOptions().getItem(0).setDisabled(true‌​);
  

Ответ №4:

В шести строках:

  private void disableOption(ListBox listBox, int optionNumber, boolean disable){
      if(optionNumber<=listBox.getElement().getChildCount()){
            Element element = listBox.getElement().getFirstChildElement();
            while (--optionNumber > 0){
                element = element.getNextSiblingElement();
            }
            element.setAttribute("disabled", disable ? "true" : "false");
      }
 }
  

Комментарии:

1. Там не должно быть (optionNumber— > 0) вместо (—optionNumber > 0)?