私はあなたの別の質問に答えようとします。要素のペア (ラジオ ボタンの入力とラベル) を作成し、必要に応じて DOM にアタッチできます。「男性」ボタンと「女性」ボタンを作成するには、次のようにします。
var button1 = new RadioButtonInputElement();
button1.name = "sex";
button1.value = "male";
button1.attributes['id'] = "sex_male";
var button1_label = new LabelElement();
button1_label.attributes['for'] = button1.id;
button1_label.text="Male";
var button2 = new RadioButtonInputElement();
button2.name = "sex";
button2.value = "female";
button2.attributes['id'] = "sex_female";
var button2_label = new LabelElement();
button2_label.attributes['for'] = button2.id;
button2_label.text="Female";
new RadioButtonInputElement()
ラジオ入力を作成するために使用します。new LabelElement()
付属のラベルを作成するために使用します。
このコードは特に DRY ではありません。これらを大量に生成する場合は、関数にリファクタリングすることをお勧めします。このようなもの:
List createButtonWithLabel(name, value) {
var button = new RadioButtonInputElement();
button.name = name;
button.value = value;
button.attributes['id'] = "${name}_${value}";
var label = new LabelElement();
label.attributes['for'] = button.id;
label.text=value.toUpperCase();
return [button, label];
}
そして、次のように使用します。
var form = new FormElement();
form.nodes.addAll(createButtonWithLabel('sex', 'male'));
form.nodes.addAll(createButtonWithLabel('sex', 'female'));
query('body').nodes.add(form);
これにより、2 つのラジオ ボタンを含むフォームが表示されます。