我是網絡編程的新手,直到現在我只是創建具有隻有一個單選按鈕或複選框等行的表格......但現在我必須創建一個包含不同數量的單選按鈕的行。我的表只有2列。第一列將包含行的指標名稱。第二列將包含單選按鈕。那麼我如何創建一個包含多個單選按鈕的單元。有些行會有10個或更多的單選按鈕,所以沒有人會想要一個接一個地追加10個單選按鈕,對嗎?Dartlang:使用不同數量的單選按鈕創建表格行
編輯:我創造這樣的:
List anketScoreList = [{'id': 'university','text': 'University Score'},
{'id': 'gpa', 'text': 'GPA Score'},
{'id': 'language', 'text': 'Language Score'},
{'id': 'success', 'text': 'Success Score'},
{'id': 'fabric', 'text': 'Fabric Score'},
{'id': 'essay', 'text': 'Essay Score'}];
//Radio values
List score3 = ["1", "1.5", "2"];
List score5 = ["1", "2", "3", "4", "5"];
List score10 = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"];
//creating table body
anketScoreList.forEach((a) {
index += 1;
tbody.append(new Element.tr()
..append(new TableCellElement()..text = index.toString())
..append(new TableCellElement()..append(new LabelElement()
..text = a['text']
..setAttribute('for', a['id'])))
..append(createRadioButtons(a)));
});
Element createRadioButtons(metadata){
List m;
if(metadata['id'] == "university"){
m = score3;
} else if(metadata['id'] == "gpa" || metadata['id'] == "language" ||
metadata['id'] == "essay"){
m = score5;
} else if(metadata['id'] == "success" || metadata['id'] == "fabric"){
m = score10;
}
var td = new TableCellElement();
m.forEach((score){
td.append(new InputElement()
..type = "radio"
..id = metadata['id']
..value = score
..name = metadata['id']
..classes.add("radio")
..onSelect.listen((e){
})
);
});
return td;
}
那麼,有沒有更簡單的方法來做到這一點?特別是對於我創建的列表,假設會有其他值,如性別,類型等......? 另外我還有一個小問題。我嘗試了onSelect,onClick我的無線電輸入元素,但它沒有工作。我只是用x = x + 10之類的東西進行測試,所以只是從我的onSelect.listen函數中刪除了這段代碼。
對我來說,它完全不清楚你要求什麼。你怎麼了? –
@GünterZöchbauer他問(以非常神祕的方式)如何高效地注入具有不同大小的新元素的集合,大概有75.4%的機會:P – JAre
添加了一些代碼:) – C0iL