У меня возникли проблемы с моим кодом, чтобы установить выбранный вариант в SelectElement, основываясь на состоянии:Установить выбранный вариант из SelectElement
@Override
public void setModel(String s) {
int children = this.getElement().getChildCount();
int i = 0;
while(i < children){
Node child = this.getElement().getChild(i);
final Element el = child.cast();
if (Element.is(el)) {
if(el.getAttribute("attribute_to_check") != null){
if(el.getAttribute("attribute_to_check").equalsIgnoreCase(s)){
SelectElement se = this.getElement().cast();
se.setSelectedIndex(i);
}
}
}
++i;
}
}
Каждый <option>
в SelectElement
имеет уникальный атрибут Строка с именем attribute_to_check
к которому код сравнивает желаемый параметр, который нужно выбрать.
Проблема, если строка, которая находится в индексе 0, позволяет назвать ее option0
.
- Проходя
option0
, тот, который получает выбранныйoption3
, - , если переданная строка
option1
вариант, который получает выбранныйoption5
и так далее.
Что может быть неправильным в отношении этого кода, что происходит в этом пропуске?
Похоже, что индексы не выровнены. 'se', ссылаясь на' this' и 'child', выбираются с одним и тем же индексом. Это правильно? – Mouser
Да, this.getElement() - это фактический элемент выбора – xybrek