下拉列表不显示其值 [英] dropdown list does not show its values

查看:24
本文介绍了下拉列表不显示其值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

一旦我运行我的 Flex 应用程序,它就会成功获取 SOAP 响应并填充下拉框中的值,但它们是空的,换句话说,当我将鼠标悬停在下拉框上时,我可以看到它有三个空值.

Once I run my Flex application, it successfully gets the SOAP response and populate the values in dropdown box but they are empty, in other words, when I hover the mouse on my dropdown box I can see that it has three empty values.

我的弹性代码

<fx:Script>

    <![CDATA[
        import mx.events.FlexEvent;

        protected function  
                    dropDownList_creationCompleteHandler(event:FlexEvent):void
        {
            myResults.token = myservice.myUsers();
        }

    ]]> 
</fx:Script>

    <fx:Declarations>

    <myservice:myservice id="myservice"/>

    <s:CallResponder id="myResults"/>

</fx:Declarations>

 <s:FormItem label="Label">
  <s:DropDownList id="dropDownList"
       creationComplete="dropDownList_creationCompleteHandler(event)"
       labelField="name">
       <s:AsyncListView list="{myResults.lastResult}"/>
  </s:DropDownList>
  </s:FormItem>

XML 是

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
    <myusersResponse xmlns="http://Services.com">
      <myusersReturn>
        <name>Nicole</name>
        <age>50</age>
      </myusersReturn>
      <myusersReturn>
        <name>Jayne</name>
        <age>40</age>
      </myusersReturn>
       <myusersReturn>
        <name>Alex</name>
        <age>33</age>
      </myusersReturn>
    </myusersResponse>
  </soapenv:Body>
</soapenv:Envelope>

推荐答案

检查 xmlns namspace.

Check xmlns namspace.

我为模拟您的问题而编写的以下代码可以正常工作:

the following code i wrote to emulate your problem works fine:

<?xml version="1.0" encoding="utf-8"?>

    <![CDATA[
        import mx.collections.XMLListCollection;
        import mx.events.FlexEvent;
        import mx.messaging.messages.SOAPMessage;
        [Bindable]
        var _result:*;

        protected function  
            dropDownList_creationCompleteHandler(event:FlexEvent):void
        {
            var xml:XML = <Body>
                            <myusersResponse>
                              <myusersReturn>
                                <name>Nicole</name>
                                <age>50</age>
                              </myusersReturn>
                              <myusersReturn>
                                <name>Jayne</name>
                                <age>40</age>
                              </myusersReturn>
                               <myusersReturn>
                                <name>Alex</name>
                                <age>33</age>
                              </myusersReturn>
                            </myusersResponse>
                          </Body>;

        _result = new XMLListCollection(new XMLList(xml.myusersResponse.myusersReturn));
        }

    ]]> 
</fx:Script>

<fx:Declarations>

</fx:Declarations>

<s:FormItem label="Label">
    <s:DropDownList id="dropDownList"
                    creationComplete="dropDownList_creationCompleteHandler(event)"
                    labelField="name">
        <s:AsyncListView list="{_result}"/>
    </s:DropDownList>
</s:FormItem>

但是如果您将 xmlns="http://Services.com 添加到 myusersResponse 标签,它会失败.

But if you add xmlns="http://Services.com to myusersResponse tag it fails.

如果您需要命名空间解决方法,我只是在这里用命名空间解决方案回答了 Jack Moores 问题 我的弹性代码没有正确解析soap响应

In case you need namespace workaround, I just answered Jack Moores question with namespace solution here My flex code does not parse the soap response properly

这篇关于下拉列表不显示其值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆