我正在开发一个自定义的CRM表单,其中包含多个按部分组织的复选框。我想在表单中实现“全选”功能,并尝试了解如何格式化JavaScript。到目前为止,我的研究已经指出了使用FOR语句迭代我想要处理的部分中的所有元素,相应地设置它们的值,但不确定要使用哪个document.getElements ...方法的可能性。
这是一个与我上面提到的FOR迭代相关的现有SO问题:
How do I get all elements of a particular HTML tag in javascript?
我不确定我知道我需要使用该方法为我的字段引用哪个标记名称。它们是BIT类型,与标签名称相同吗?我已经导出了实体的自定义文件,并且可以访问该组字段的类ID,是否有可以使用的方法,传递该数据?
答案 0 :(得分:0)
crmForm.all.[one of my checkboxen].DataValue = crmform.all.[my select all box].DataValue;
将[我的复选框之一]替换为复选框(可能是new_something)和[我选择所有复选框]的名称,并使用全选框的名称。
为您要控制的每个复选框添加一行。
这不是一个理想的解决方案,因为每次添加have删除复选框时都必须不断更新代码,但它具有适用的adaventage。
答案 1 :(得分:0)
我明白了;通过JavaScript使用DOM,我能够遍历表单部分中的复选框项。
var section = document.getElementById("{5d86cfd1-4612-e211-8c63-0015c5f7fc75}");
var fields = section.getElementsByTagName("input");
if (crmForm.all.tmi_selectallwtm.DataValue == true) {
for (i = 0; i < fields.length; i++) {
if (fields[i].className == "ms-crm-CheckBox") {
fields[i].DataValue = true;
}//end IF
else {}
}//end FOR
}//end IF
else {
for (i = 0; i < fields.length; i++) {
if (fields[i].className == "ms-crm-CheckBox") {
fields[i].DataValue = false;
}//end IF
else {}
}//end FOR
}//end ELSE
答案 2 :(得分:0)
var section = document.getElementById('a');
var fields = section.getElementsByTagName("input");
for (i = 0; i < fields.length; i++) {
fields[i].checked= true;
}