2011-07-26 59 views
0

這是不起作用的代碼。該代碼要求我在複選框標記中硬編碼ID。如何在Flex中使用動態ID創建一個spark數組複選框?

<mx:HBox id="myHBox"> 
    <mx:Repeater id="checkBoxRepeater" 
       dataProvider="{getItemsResult.lastResult}"> 
    <s:CheckBox label="{checkBoxRepeater.currentItem.itemName}" 
       id="{checkBoxRepeater.currentItem.itemID}"/> <!--FB error here--> 
    </mx:Repeater> 
</mx:HBox> 

如果我鍵入id一個字符串,我得到我的複選框的數組沒有問題,標籤無一不精。我需要獲得動態ID,以便可以將綁定到itemName的ID(itemID)發送到服務器。

有什麼建議嗎?

+0

到底是什麼錯誤? – Taurayi

+0

我得到這個錯誤''{checkBoxRepeater.currentItem.itemID}'不是一個有效的標識符'。當然,itemID是一個整數,正如可以在PHP服務的數據類型部分中看到的那樣。 – shailenTJ

+0

重複? http://stackoverflow.com/questions/6832085/how-to-send-an-array-of-flex-checkboxes-to-a-mysql-server – michael

回答

1

IDS是一個編譯時的概念,當與ID的標籤編譯MXML編譯器創建的組件類,你定義,那爲什麼沒有動態ID的參考變量。 相反,你寫,然後訪問重複實例爲複選框[0]複選框[1]等

<mx:Repeater ...> 
    <s:CheckBox id="checkBox "/> 
</mx:Repeater> 
+0

謝謝你的迴應。那麼對於另一個問題,我問(http://stackoverflow.com/questions/6832085/how-to-send-an-array-of-flex-checkboxes-to-a-mysql-server)怎麼可能送該項目的ID,在我們的情況下,將作爲複選框的標籤,到服務器?如果您有任何線索,請在其他主題上回復。非常感謝。 – shailenTJ

+0

好的提示。然後,對於changeHandler,我通過所謂價值第二個參數,它等於'event.currentTarget.repeaterIndex' 代碼: { 無效: '保護功能checkbox_changeHandler(事件:事件,值:INT)如果(複選框[值] .selected) { //不smthg } 別的 { //做smthg別的 } 跡(值); trace(複選框[value] .selected); }' – shailenTJ

+0

好的,由於某些未知的原因,上面的代碼格式不正確。這對其他人很有幫助。 – shailenTJ

相關問題