2009-11-01 74 views
0

我有一個TextInput和我的應用程序列表。我想送寫成的TextInput的信息和從列表中的PHP文件所選擇的選項的名稱。從柔性陣列傳遞到PHP

HTTPService在之後發送的TextInput的文本,然後從列表中選擇項的指數精細到PHP文件,但selectedItems不工作如我所料。它不會發送所選項目

<mx:HTTPService id="configureService" url="configure.php" resultFormat="text" method="POST"> 
    <mx:request xmlns=""> 
     <textInput> 
      {textInput.text} 
     </textInput> 
     <selectedFoodNames> 
      {foodList.selectedItems.join(",")} <!-- Problem in this LOC --> 
     </selectedFoodNames> 
     <selectedFoodIndices> 
      {foodList.selectedIndices.join(",")} 
     </selectedFoodIndices> 
    </mx:request> 
</mx:HTTPService> 

的名字現在,我的PHP文件的結果:

echo $_POST['textInput']; //Output the right answer 
echo $_POST['selectedFoodNames']; //Outputs: "[object Object],[object Object],[object Object]" if three items are selected from the list 
echo $_POST['selectedFoodIndices']; //Outputs the indices of selected items separated by comma 

名單的樣子:

<mx:List id="foodList" x="26.95" y="54" width="231.55" height="236.9" allowMultipleSelection="true"> 
    <mx:dataProvider> 
     <mx:Array> 
       <mx:Object id="Sugar" label="Sugar" data="#FF0000"/> 
      <mx:Object id="Salt" label="Salt" data="#00FF00"/> 
      <mx:Object id="Pepper" label="Pepper" data="#0000FF"/> 
      </mx:Array> 
    </mx:dataProvider> 

有沒有一種方法可以讓我發送列表中元素的標籤?

回答

1

你需要編寫一個函數,使從對象的列表。

public static function selectedItemsToLabels(list:List):String { 
    var a:Array = []; 
    for each(var o:Object in list.selectedItems) { 
    a.push(o.label); 
    } 
    return a.join(","); 
} 

這是一個靜態函數,但如果要擴展該類,則可以使其成爲List的成員。

+0

權。 好吧,我現在保存返回的字符串爲
var temp:String = selectedItemsToLabels(algosList);
但使用時 {溫度}給出輸出錯誤並在溫度不限定。請告訴我現在如何通過HTTPService發送臨時內容? – baltoro

+0

不需要溫度。我相信你可以在中綁定一個函數,而不是一個變量。試試看。我只是用as3來做這種事情,所以我可能是錯的。 – Glenn