在odoo中隐藏和显示文本区域
Hide and show textarea in odoo
我有一些问题:
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template id="product_configurator_configure"
inherit_id="sale.product_configurator_configure">
<xpath expr="//div[@class='js_product main_product']"
position="replace">
some code
<div>
<input type="checkbox" id="check_comment" class="o_website_form_input"> Option development
request</input>
<textarea name="comment" id="comment" class="o_website_form_input" cols="65" rows="4"
placeholder="Add new option"></textarea>
</div>
</xpath>
</template>
如何在 odoo 中创建一个 javascript 文件(其结构),以便通过单击“复选框”显示字段
您需要alter the ProductConfiguratorFormRenderer renderer and bind the click event评论复选框。
odoo.define('web.CustomFormRenderer', function (require) {
"use strict";
var ProductConfiguratorFormRenderer = require('sale.ProductConfiguratorFormRenderer');
ProductConfiguratorFormRenderer.include({
events: _.extend({}, ProductConfiguratorFormRenderer.prototype.events, {
'click #check_comment': 'onClickShowHideComment',
}),
onClickShowHideComment: function (ev) {
let comment = $(ev.currentTarget).next();
if(ev.currentTarget.checked) {
comment.removeClass('o_hidden');
} else {
comment.addClass('o_hidden');
}
},
});
});
要添加以上代码,请查看 Assets Management 文档。
示例:
- 用上面的代码创建一个js文件(
custom_form_renderer.js
)。
- 继承
web.assets_backend
并包含js文件
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template id="assets_backend" name="Custom assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/{module_name}/static/src/js/custom_form_renderer.js"></script>
</template>
</odoo>
- 将 xml 文件添加到清单中。
我有一些问题:
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template id="product_configurator_configure"
inherit_id="sale.product_configurator_configure">
<xpath expr="//div[@class='js_product main_product']"
position="replace">
some code
<div>
<input type="checkbox" id="check_comment" class="o_website_form_input"> Option development
request</input>
<textarea name="comment" id="comment" class="o_website_form_input" cols="65" rows="4"
placeholder="Add new option"></textarea>
</div>
</xpath>
</template>
如何在 odoo 中创建一个 javascript 文件(其结构),以便通过单击“复选框”显示字段
您需要alter the ProductConfiguratorFormRenderer renderer and bind the click event评论复选框。
odoo.define('web.CustomFormRenderer', function (require) {
"use strict";
var ProductConfiguratorFormRenderer = require('sale.ProductConfiguratorFormRenderer');
ProductConfiguratorFormRenderer.include({
events: _.extend({}, ProductConfiguratorFormRenderer.prototype.events, {
'click #check_comment': 'onClickShowHideComment',
}),
onClickShowHideComment: function (ev) {
let comment = $(ev.currentTarget).next();
if(ev.currentTarget.checked) {
comment.removeClass('o_hidden');
} else {
comment.addClass('o_hidden');
}
},
});
});
要添加以上代码,请查看 Assets Management 文档。
示例:
- 用上面的代码创建一个js文件(
custom_form_renderer.js
)。 - 继承
web.assets_backend
并包含js文件
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template id="assets_backend" name="Custom assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/{module_name}/static/src/js/custom_form_renderer.js"></script>
</template>
</odoo>
- 将 xml 文件添加到清单中。