저는 웹 프로그래밍에 익숙하지 않고 지금까지 단 하나의 라디오 버튼이나 체크 박스가있는 행이있는 테이블을 작성했습니다 ...하지만 이제는 다른 수의 라디오 버튼을 포함하는 행이있는 테이블. 내 테이블에는 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 %의 확률로 다양한 크기의 새 요소를 효율적으로 주입하는 방법을 묻습니다 (코드 : – JAre
). – C0iL