2017-09-04 70 views
1

我试图从我的模块中声明的JavaScript获取HTML内容。无法获取内容在Odoo 9的javascript文件

但我可以通过类名得到的是标题内容,但是看板视图。

openerp.my_module = function(instance) { 
    var header = $(".headerClass").html(); 
    console.log(header); 
    var kanban = $(".kanbanClass").html(); 
    console.log(kanban); 
}; 

也是我添加的JavaScript文件web.assets_backend

<?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中执行看板视图时不包括在内。

UPDATE

<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> 

而且我o_kanban_primary_left类登录时得到 “未定义”。

回答

0

等待应用程序执行第一此代码之前完成加载:

openerp.my_module = function(instance) { 
    $(document).ready(function() { 
     var header = $(".headerClass").html(); 
     console.log(header); 
     var kanban = $(".kanbanClass").html(); 
     console.log(kanban); 
    }); 
}; 

你可能已经选定尚未完成加载又一个元素。

+0

它在呈现看板视图之前仍显示日志。我有什么先决条件吗? –

+0

我无法猜测,但'.kanbanClass'元素来自哪里? – masterpreenz

+0

它位于项目看板视图中类似项目名称的看板视图中。我会为你更新一些xml文件 –