Dart 如何循环检查Div中的每个复选框?(飞镖)
我的html中有一个div:Dart 如何循环检查Div中的每个复选框?(飞镖),dart,dart-html,Dart,Dart Html,我的html中有一个div: 我通过dart向其中添加复选框 CheckboxInputElement cie=新的CheckboxInputElement(); Labelement标签=新Labelement(); cie.id=“checkboxid_u2;”+asdf//唯一id label.htmlFor='checkboxid_uu'+asdf//将标签绑定到复选框 label.text=asdf; 列出容器.子项.添加(cie); 列出容器。子项。添加(标签); list_co
我通过dart向其中添加复选框
CheckboxInputElement cie=新的CheckboxInputElement();
Labelement标签=新Labelement();
cie.id=“checkboxid_u2;”+asdf//唯一id
label.htmlFor='checkboxid_uu'+asdf//将标签绑定到复选框
label.text=asdf;
列出容器.子项.添加(cie);
列出容器。子项。添加(标签);
list_container.children.add(new-Element.html(“
”)//复选框后面的换行符
稍后,我想获得在单击按钮时选中的复选框的所有值的列表。单击时会出现以下代码:
List=[];
for(列表中的CheckboxInputElement元素\u container.children){
如果(元素已选中){
列表。添加(元素值);
}
}
据我所知,for循环通过list_容器中的每个复选框,但出于某种原因,它在到达标签时抛出一个错误:
异常时中断:类型“Labelement”不是类型的子类型
“元素”的“CheckboxInputElement”
我不明白为什么当我明确指出elem应该是CheckboxInputElement时,for循环甚至会对标签产生麻烦。这样做的正确方法是什么?您没有声明它只应返回
CheckboxInputElement
您声明保存在循环中处理的值的变量只应保存CheckboxInputElement
s,但循环会分配它遇到的每个元素
这样您只会得到CheckboxInputElement
List=[];
for(列表中的var elem_container.children.where((e)=>e是CheckboxInputElement)){
如果(元素已选中){
列表。添加(元素值);
}
}
或
list.addAll(list\u container.children
其中((e)=>e是CheckboxInputElement&&e.checked)
.map((e)=>e.value));
或
list.addAll(querySelectorAll(“#list_container_id input[type=“checkbox”]”)
其中((e)=>e是CheckboxInputElement&&e.checked)
.map((e)=>e.value));
您没有声明它只应返回CheckboxInputElement
您声明保存在循环中处理的值的变量只应保存CheckboxInputElement
s,但循环分配它遇到的每个元素
这样您只会得到CheckboxInputElement
List=[];
for(列表中的var elem_container.children.where((e)=>e是CheckboxInputElement)){
如果(元素已选中){
列表。添加(元素值);
}
}
或
list.addAll(list\u container.children
其中((e)=>e是CheckboxInputElement&&e.checked)
.map((e)=>e.value));
或
list.addAll(querySelectorAll(“#list_container_id input[type=“checkbox”]”)
其中((e)=>e是CheckboxInputElement&&e.checked)
.map((e)=>e.value));
您没有声明它只应返回CheckboxInputElement
您声明保存在循环中处理的值的变量只应保存CheckboxInputElement
s,但循环分配它遇到的每个元素
这样您只会得到CheckboxInputElement
List=[];
for(列表中的var elem_container.children.where((e)=>e是CheckboxInputElement)){
如果(元素已选中){
列表。添加(元素值);
}
}
或
list.addAll(list\u container.children
其中((e)=>e是CheckboxInputElement&&e.checked)
.map((e)=>e.value));
或
list.addAll(querySelectorAll(“#list_container_id input[type=“checkbox”]”)
其中((e)=>e是CheckboxInputElement&&e.checked)
.map((e)=>e.value));
您没有声明它只应返回CheckboxInputElement
您声明保存在循环中处理的值的变量只应保存CheckboxInputElement
s,但循环分配它遇到的每个元素
这样您只会得到CheckboxInputElement
List=[];
for(列表中的var elem_container.children.where((e)=>e是CheckboxInputElement)){
如果(元素已选中){
列表。添加(元素值);
}
}
或
list.addAll(list\u container.children
其中((e)=>e是CheckboxInputElement&&e.checked)
.map((e)=>e.value));
或
list.addAll(querySelectorAll(“#list_container_id input[type=“checkbox”]”)
其中((e)=>e是CheckboxInputElement&&e.checked)
.map((e)=>e.value));
querySelector("#list_container_id")
.querySelectorAll("input[type=checkbox]")
.forEach((CheckboxInputElement e) {
/* do work */
});