//控制关联表单元素是否显示
var relateItemMap = {};
for(var i=0; i<formAttributeItemList.length; i++){
var item = formAttributeItemList[i];
//统计当前表单元素选项关联的数量
for(var j=0; j<item.relateFormAttributeList.length; j++){
var relate = item.relateFormAttributeList[j];
var value = 1
if(relateItemMap.hasOwnProperty(relate.relateFieldId)){
value = relateItemMap[relate.relateFieldId] + 1;
}
relateItemMap[relate.relateFieldId] = value;
}
//去除没有被选中的关联表单元素
if(!$scope.formData['check'+item.itemId].optionCheck){
for(var j=0; j<item.relateFormAttributeList.length; j++){
var relate = item.relateFormAttributeList[j];
var value = 0
if(relateItemMap.hasOwnProperty(relate.relateFieldId)){
value = relateItemMap[relate.relateFieldId] - 1;
}
relateItemMap[relate.relateFieldId] = value;
}
}
}
//是否显示
for(var prop in relateItemMap){
if(relateItemMap[prop] > 0){
$scope.formValidation['div'+prop] = false;
$scope.formValidation['ul'+prop] = false;
} else {
$scope.formValidation['div'+prop] = true;
$scope.formValidation['ul'+prop] = true;
}
}
注意:在javascript语言中,key的值只能是字符串,不能是其它的。