无法在Odoo 9中获取javascript文件中的内容
我试图从模块中声明的javascript中获取html内容 但我能通过类名得到的只是标题内容,而不是看板视图无法在Odoo 9中获取javascript文件中的内容,javascript,openerp,odoo-9,Javascript,Openerp,Odoo 9,我试图从模块中声明的javascript中获取html内容 但我能通过类名得到的只是标题内容,而不是看板视图 openerp.my_module = function(instance) { var header = $(".headerClass").html(); console.log(header); var kanban = $(".kanbanClass").html(); console.log(kanban); }; 我还将javascript文
openerp.my_module = function(instance) {
var header = $(".headerClass").html();
console.log(header);
var kanban = $(".kanbanClass").html();
console.log(kanban);
};
我还将javascript文件添加到web.assets\u后端
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<template id="assets_backend" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/my_module/static/src/js/my_module.js"></script>
</xpath>
</template>
</data>
</openerp>
第一个日志显示html内容,但第二个日志显示未定义
我猜当这个javascript执行时,xml中的看板视图并不包括在内
更新
<record id="my_module_view_kanban" model="ir.ui.view">
<field name="name">my.module.kanban</field>
<field name="model">my.module.model</field>
<field name="arch" type="xml">
<kanban class="oe_background_grey o_kanban_dashboard" display="[name]">
<field name="name"/>
<field name="color"/>
<field name="state"/>
<field name="nth_week"/>
<field name="date_start"/>
<field name="date_end"/>
<field name="date"/>
<field name="count_employees"/>
<templates>
<t t-name="kanban-box">
<div class="kanban_weekly_record">
<div t-attf-class="#{kanban_color(record.color.raw_value)} oe_kanban_global_click">
<div class="o_weekly_kanban_main">
<div class="o_kanban_card_content o_visible">
<div class="o_kanban_primary_left">
<div class="o_kanban_primary_left">
<div class="o_primary weekly">
<span>
<div class="kanbanClass">
<t t-esc="record.field.value"/>
</div>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</t>
<template>
</kanban>
</field>
</record>
我的模块看板
my.module.model
使用o_kanban_primary_left类登录时,我也会得到“undefined”(未定义)。在执行此代码之前,请先等待应用程序完成加载:
openerp.my_module = function(instance) {
$(document).ready(function () {
var header = $(".headerClass").html();
console.log(header);
var kanban = $(".kanbanClass").html();
console.log(kanban);
});
};
因为您可能选择了尚未完成加载的元素。请等待应用程序先完成加载,然后再执行此代码:
openerp.my_module = function(instance) {
$(document).ready(function () {
var header = $(".headerClass").html();
console.log(header);
var kanban = $(".kanbanClass").html();
console.log(kanban);
});
};
因为您可能选择了一个尚未完成加载的元素。在呈现看板视图之前,它仍然会显示日志。有什么先决条件我必须做吗?我猜不出来,但是这个
.kanbanClass
元素是从哪里来的?它位于看板视图中,就像项目看板视图中的项目名称一样。我将为您更新更多的xml文件,它在呈现看板视图之前仍然显示日志。有什么先决条件我必须做吗?我猜不出来,但是这个.kanbanClass
元素是从哪里来的?它位于看板视图中,就像项目看板视图中的项目名称一样。我将为您更新更多的xml文件