【发布时间】:2020-05-22 02:13:46
【问题描述】:
我有两个字段,field1 是一个复选框,field2 是一个普通的文本字段。如果未选中 field1 并且如果
,我想隐藏 field2field1 被选中,然后显示 field2。为此,我正在创建以下代码:
odoo.define('survey_inherit.FormView', function (require) {
"use strict";
var FormView = require('web.FormView');
var core = require('web.core');
var QWeb = core.qweb;
var FormView = FormView.extend({
_checkField: function(){
var $checkbox = $('.custom-control-input').val();
if ($checkbox.is(':checked')) {
$('.o_form_label').show();
$('.mandatory_msg_class').show();
}else{
$('.mandatory_msg_class').hide();
}//close else
},
});//close FormController
return FormView;
});
但是如果未选中 field1,则不会隐藏 field2,如果选中 field1,则不会显示 field2。
更新
我的要求是我有一个表单,其中包含一个带有小部件 many2many_tags 和其他字段的 one2many 字段。单击many2many_tags的标签后,我想在其他字段中显示完整的记录。单击标签后,我可以获得完整的记录,并且这些记录也可以放在其他字段中。使用 attrs 并打开表单视图来创建记录后,字段 2 将永远不会显示。但是在创建记录后以编辑模式打开表单视图并单击 many2many_tags
由于 attrs,未显示 field2。
删除 attrs 并打开用于创建记录字段的表单视图将显示(但不想显示,因为未选中 field1)并在创建记录后以编辑模式打开表单视图,单击 many2many_tags 可以正常工作。
attrs 条件:attrs="{'invisible':[('constr_mandatory','!=',True)]}"
constr_ 强制:复选框字段
这就是我不使用 attrs 并试图在 javascript 的帮助下实现的原因。我希望所提供的信息能被理解。另外,我更新了问题,添加了屏幕截图以便更好地理解。
【问题讨论】:
标签: javascript checkbox hide odoo