首次单击Chrome中的ListBox后,项目未设置为禁用

时间:2014-11-14 13:45:19

标签: gwt

这是我的代码:

listbox.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                serv.getSlotStatusesStrings(clientFactory.getWorkspaceId(), new AsyncCallback<SlotStatusGwtStruct>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        // TODO Auto-generated method stub
                    }

                    @Override
                    public void onSuccess(SlotStatusGwtStruct result) {
                        List<String> statusList = Arrays.asList(result.styleName);
                        int emtyCounter = 0;
                        boolean passFlag = false;
                        boolean failFlag = false;
                        for(String status : statusList){
                            if(status.equals("empty")){
                                emtyCounter++;
                            }else if(status.equals("pass")){
                                passFlag = true;
                            }else if(status.equals("fail")){
                                failFlag = true;
                            }
                        }
                        if(emtyCounter == statusList.size()){
                            listbox.getElement().<SelectElement>cast().getOptions().getItem(0).setDisabled(true);
                        }
                        if(passFlag == false){
                            listbox.getElement().<SelectElement>cast().getOptions().getItem(1).setDisabled(true);
                        }
                        if(failFlag == false){
                            listbox.getElement().<SelectElement>cast().getOptions().getItem(2).setDisabled(true);
                        }
                    }
                });

            }
        });
    }

在Firefox中它可以正常工作,但在Chrome浏览器中,当我第一次点击列表框时,我的所有项目都被启用(条件是它们应该被禁用),并且在我再点击一次之后我得到了预期的结果。

你能否就如何解决这个问题给我一些建议。

0 个答案:

没有答案