本文目錄一覽:
- 1、求大神指點js生成樹結構
- 2、如何使用js實現select下拉框里是樹形結構
- 3、js的樹形結構怎麼實現
- 4、如何用js實現select下拉框里是樹形結構,可複選,select框中傳複選所有值?如下圖所示。
求大神指點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