<script>
jQuery(document).ready(function () {
WfForm.bindFieldChangeEvent("field53408", function (obj, id, value) { //field53408 主表字段
var arr = WfForm.getDetailAllRowIndexStr("detail_1").split(",");
for (var i = 0; i < arr.length; i++) {
if (value == 0) { //field53408 主表字段的值
WfForm.changeFieldAttr("field53410_" + arr[i], 1); //field53410 明细字段
$("field53410_" + arr[i] +'_swapDiv').hide();
} else {
WfForm.changeFieldAttr("field53410_" + arr[i], 3);
$("field53410_" + arr[i] +'_swapDiv').show();
}
}
});
WfForm.registerAction(WfForm.ACTION_ADDROW + "1", function (index) {
var value = WfForm.getFieldValue("field53408"); //field53408 主表字段的值
if (value == 1) { //field53408 主表字段的值
WfForm.changeFieldAttr("field53410_" + index, 3);
$("field53410_" + arr[i] +'_swapDiv').show();
} else {
WfForm.changeFieldAttr("field53410_" + index, 1);
$("field53410_" + arr[i] +'_swapDiv').hide();
}
});
})
</script>
--优化版
<script>
jQuery(document).ready(function($) {
// 定义一个函数来切换字段的显示状态
function toggleFieldVisibility(index, isVisible) {
var fieldName = "field53410_" + index;
WfForm.changeFieldAttr(fieldName, isVisible ? 3 : 1);
var swapDivSelector = fieldName + '_swapDiv';
$(swapDivSelector).toggle(isVisible);
}
WfForm.bindFieldChangeEvent("field53408", function(obj, id, value) {
var arr = WfForm.getDetailAllRowIndexStr("detail_1").split(",");
arr.forEach(function(index) {
toggleFieldVisibility(index, value !== '0');
});
});
WfForm.registerAction(WfForm.ACTION_ADDROW + "1", function(index) {
var value = WfForm.getFieldValue("field53408");
toggleFieldVisibility(index, value === '1');
});
});
</script>
E9:流程主表字段控制明细表字段隐藏显示必填只读
于 2024-05-09 10:49:28 首次发布