js樹形結構樣式,js樹形組織圖

本文目錄一覽:

求大神指點js生成樹結構

// 生成樹結構

function tree(list) {

const result = [];

for (let value of list) {

// 排除空字元串的情況

if (!value) {

continue;

}

const values = value.split(‘/’);

// 查找樹結構的當前級別是否已經存在,不存在則創建對象,並添加入列表。

let current = result.find(item = item.name === values[0]);

if (current === void 0) {

current = {};

result.push(current);

}

for (let i = 0, length = values.length; i length; i++) {

current.name = values[i];

if (i length – 1) {

// 如果還有下一級內容,判斷當前是否有 children,沒有則構建.

if (current.children === void 0) {

current.children = [];

}

// 查找下一級對象,為下一遍遍歷構建對象

let nextCurrent = current.children.find(item = item.name === values[i + 1]);

if (nextCurrent === void 0) {

nextCurrent = {};

current.children.push(nextCurrent);

}

current = nextCurrent;

}

}

}

return result;

}

============ 假裝分割線 ===========

以上代碼是生成樹的函數,調用 tree 函數並傳入你的 input 數據,返回值就是生成的樹。百科沒找到傳代碼的地方了。

如何使用js實現select下拉框里是樹形結構

1、手動的改成樹形結構,在二級opint標籤的內容前面加入空格,形成樹形的樣子。

2、用div等標籤做成模擬的select下拉框。

目前除此之外應該沒有其它的辦法能做到。

不要找我要代碼,自己試試。

js的樹形結構怎麼實現

這個問題,我建議你去下載下樹形菜單。網上已經實現的js很多,下載下來一看就明白了,

如何用js實現select下拉框里是樹形結構,可複選,select框中傳複選所有值?如下圖所示。

首先說樹形結構,國內有個開源的js控制項叫zTree,支持複選。

然後下拉框你可能需要自己做一個(html輸入框+右邊的一個圖標按鈕)。

最後,用一個隱藏的div把樹形結構包起來,這個div設置成絕對定位,在下拉框右側選擇按鈕的單擊事件處理函數里,顯示這個隱藏的div,並把它的位置設置成在下拉框下面就行了。

思路就是這樣,要麼樓主可以找找有沒有其他更現成的控制項,extjs4我記得有類似的,但是他的複選功能不太符合中國習慣,也許現在的版本改好了,你可以查查試試看。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/295204.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-26 17:15
下一篇 2024-12-26 17:15

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • 如何使用HTML修改layui內部樣式影響全局

    如果您想要使用layui來構建一個美觀的網站或應用,您可能需要使用一些自定義CSS來修改layui內部組件的樣式。然而,修改layui組件的樣式可能會對整個頁面產生影響,甚至可能破…

    編程 2025-04-29
  • Vue TS工程結構用法介紹

    在本篇文章中,我們將從多個方面對Vue TS工程結構進行詳細的闡述,涵蓋文件結構、路由配置、組件間通訊、狀態管理等內容,並給出對應的代碼示例。 一、文件結構 一個好的文件結構可以極…

    編程 2025-04-29
  • Python程序的三種基本控制結構

    控制結構是編程語言中非常重要的一部分,它們指導著程序如何在不同的情況下執行相應的指令。Python作為一種高級編程語言,也擁有三種基本的控制結構:順序結構、選擇結構和循環結構。 一…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • SDN開源組織中ONOS起步最早

    ONOS是一個開源軟體定義網路(SDN)操作系統,由ON.Lab創建並一直在開發。該平台旨在通過使用網路虛擬化技術使工程師能夠快速靈活地創建和管理網路服務。 一、ONOS的優勢 在…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • JS圖片沿著SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿著SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27
  • Lidar避障與AI結構光避障哪個更好?

    簡單回答:Lidar避障適用於需要高精度避障的場景,而AI結構光避障更適用於需要快速響應的場景。 一、Lidar避障 Lidar,即激光雷達,通過激光束掃描環境獲取點雲數據,從而實…

    編程 2025-04-27

發表回復

登錄後才能評論