2009-12-02 82 views
0

嘿大家..我真的是新的閃光。我有一個組合框,我使用'selectedIndex'屬性給它一個默認值(在第一個(0)索引處的值)。在ActionScript中設置此屬性確實會在下拉列表中選擇值,但不會將選定的值添加到組合框的文本區域。你怎麼做到這一點?我所做的任何選擇都不會影響文本區域。Flash組合框...將文本字段設置爲選定值?

這是我的代碼示例。組合框列表填充正常。並且在列表中選擇該值。但是,一旦您在列表中選擇一個值組合框的列表關閉,組合框的文本字段中沒有任何內容。

comboBoxData.insert(0, {data:1, label:"Show me something specific"}); 
     for (i in animations) { 

      comboBoxData.push({data: i.uri ,label: "somevalue"}); 
      }    
     comboBox.dataProvider = comboBoxData; 
     comboBox.selectedIndex = 0; 
     comboBox.text = comboBox.selectedIndex; 

     this._lockroot = true; 

我的解決方案是使用AS 2

謝謝!

- 尼克

回答

2

我想你需要添加一些代碼。我不太明白。你有一個文本區域和一個組合框?如果是這樣的話,那麼你可以做這樣的事情給予selectedIndex設置爲文本區域

combo_cmb.selectedIndex=1; 
text_txt.text=c.selectedIndex; 
var listenerObjectPM:Object = new Object(); 
listenerObjectPM.change = function(eventObject:Object) { 

     text_txt.text=combo_cmb.selectedIndex; 

} 
combo_cmb.addEventListener("change", listenerObjectPM); 

,如果你想在文本區域打印標籤,您可以更改的text_txt.text=combo_cmd.selectedItem.label; 的值,或者如果你想打印數據將其更改爲text_txt.text=combo_cmb.selectedItem.data;。 如果不是這種情況,您可以編寫代碼,以便我可以更好地瞭解您正在嘗試執行的操作。

+0

我希望組合框只顯示選定的值。這將是我用過的任何其他語言的默認行爲。組合框由三部分組成:一個列表,一個butoon和一個文本字段。我想要填充組合框的文本字段。 – Nick 2009-12-02 13:23:23

+0

你的意思是這樣的 combobox.addItem(「label」,data);? – doamnaT 2009-12-02 14:01:56

+0

該行應該在for循環中包含整個列表。順便說一下,列表是填充?無論如何,我認爲一段代碼會澄清問題。 – doamnaT 2009-12-02 14:06:40

0

它應該是你說的默認行爲,但我有同樣的問題,並在選擇更改事件處理程序中解決了我的問題。

e.target.textField.text = e.target.selectedItem.label; 
相關問題