设置SelectElement的选定选项

时间:2014-12-27 20:39:50

标签: java algorithm loops gwt

我的代码出现问题,根据条件设置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等等。

这个跳过模式发生的代码有什么问题?

1 个答案:

答案 0 :(得分:1)

我打赌选择中有非元素儿童。

仅在i或更好地循环Element.is(el)时尝试递增SelectElement#getOptions()