2015-10-07 28 views
0

在我的應用程序中,我有一個函數訪問我的整個樹,然後對某個類型的每個節點執行一些依賴於Ajax的處理(即向它添加了一些子元素)。整個過程需要一些時間才能運行,但由於它是異步的,因此瀏覽器不會凍結,用戶可以在完成所有響應之前繼續與已獲得ajax響應的節點進行交互。是否可以專門渲染Fancytree節點的圖標?

要這種效果,我在配置iconClass這樣的:

iconClass: function (event, data) { 
    switch (data.node.data.type) { 
     case "folder": 
      return "fa fa-folder"; 
      break; 
     case "normal": 
      return "fa fa-folder-o"; 
      break; 
     case "loading": 
      return "fa fa-spinner fa-spin fa-pulse"; 
      break; 
     default: 
      return "fa fa-question-circle"; 
    } 
} 

隨着配置,我開始在Ajax調用該節點之前設置我node.data.type爲「裝載」的圖標,然後在ajax.success我重新 - 將我的node.data.type恢復爲「正常」。如果它在屏幕上呈現,則這不會改變節點的圖標。

我知道我能做到什麼,我想簡單地說,調用node.render()node.renderTitle(),但是因爲我使用ext-tree,這也叫renderColumns()這是一件好事,我不想在這一點上(renderColumns創建輸入字段,這使我問題,我的jQuery的驗證插件)

回答

0

您可以操縱fancytree節點的HTML在兩個方面:

  • 如果HTML位於「.fancytree標題」 -span,你可以通過更改data.node.title來操縱它的HTML。但要注意,這是一個HTML字符串,沒有DOM或JQuery對象
  • 如果您想更改其他一些HTML,則可以操作data.node.li。這是一個DOM元素。您可以通過使用$(node.data.li)

好運

用jQuery輕鬆地操縱它
相關問題