2017-09-04 69 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文件 –