Ztreeドロップダウンボックス複数の選択肢

〜図

 

 コード〜PO

  // 文書負荷 
    $(ドキュメント).ready(関数(){
         // 負荷ztreeツリー 
        $ .fn.zTree.init($( "#treeDemo" )、設定、getJSON()); 
        SETCHECK(); 
    }); 
// 初期設定
    するvar設定= { 
        チェック:{ 
            有効:trueに
        }、
        ビュー:{ 
            dblClickExpand:falseに
        }、
        データ:{ 
            SimpleData:{ 
                有効:trueに
            } 
        }、
        コールバック:{  
            beforeClick:beforeClick、
            oncheckを:oncheckを 
        } 

    }; 
    // 取得した個人データは、
    機能getJSON(){
         VARの STR = []; 
        $アヤックス({ 
            タイプ: "GET" 
            URL: "/スケジュール/ GETUSER" 
            キャッシュ:falseに
            非同期:falseに
            成功:機能(結果){ 
                STR = result.data; 
            } 
        }); 
        を返すのeval(STR);
         // 怠惰な私〜と定義私ztreeフィールドに合わせて、バックグラウンド・リターン・データを、
        @ID:識別
        @ PID:親識別子
        @ ID:識別
        @ 名:名
        @ chkDisabled:かどうかをチェック
        @ オープン:開始するかどうかを
    }
     // 親子関係の設定
    機能をSETCHECK(){
         VAR zTree = $ .fn.zTree.getZTreeObj( "treeDemo")、PY = "P"、SY = "S"、PN = "P"、SN = "S"、タイプ= { "Y":PY + SY、 "N" :PN + のSn}; 
        zTree.setting.check.chkboxType = タイプ; 
    } 
    // クリックする前に
    機能beforeClick(treeId、ツリーノード){
         VAR zTree .fn.zTree.getZTreeObj $ =( "treeDemo" ); 
        zTree。チェックノード(ノードツリー、!treeNode.checked、 ヌルtrueに);
         戻り値 はfalseに; 
    } 
    // トリガチェック
    機能oncheckを(E、treeId、TREENODE){
         VAR zTree .fn.zTree.getZTreeObj $ =( "treeDemo" )、
            ノード = zTree.getCheckedNodes(trueに)、
            namearray = 新しい新しいアレイ()は、
            idarrayは = 新しい新しい配列を();
         // 子ノードのデータ取得
        のためのVAR Iが0、L = nodes.length =を、I <L; I ++ ){
             // 取得したすべてのノード
            IF(!ノード[I] .isParent){ // 子ノードを取得
                namearray.push(ノード[I] .nameの); 
                idarray.push(ノード[I] .ID); 
            } 
            // 他に{ 
            //     //取得した親をノード
            // } 
        } 
        $( "#userSel")ヴァル(namearray.join( ' ' )); 
        $( "#userValue")ヴァル(idarray.join('、' )); 
    } 
    // [表示]ドロップダウンフレームULの
    関数showMenuは(){である
         VAR cityObj = $( "#userSel" );
         VAR cityOffset = $( "#userSel" ).offset(); 
        $("#menuContent")、CSS({左:cityOffset.left + "PX"、トップ:cityOffset.top + cityObj.outerHeight()+ "PXを"}。)slideDown( "速いです" ); 
        $( "身体")バインド( "マウスダウン"。、onBodyDown)。
    } 
    // 隐藏下拉框UL 
    機能hideMenu(){ 
        $( "#menuContent")、フェードアウト( "速いです"。 )。
        $( "身体")アンバインド( "マウスダウン"。、onBodyDown)。
    } 
    // 下拉框UL发生变化
    機能onBodyDown(イベント){
         場合(!(event.target.id == "menuBtn" || event.target.id == "userSel" || event.target.id == " menuContent」|| $(event.target).parents( "#menuContent")。長さ> 0 )){
            $(event.target).parents( "#menuContent")の長さ> 0。 hideMenu(); 
        } 
    } 
    // 編集チェック・ノードは、選択されているが
    、機能refreshNode(ID){
         VAR checkeduser = getJSON(ID).toString()スプリット( '' );
         VAR zTree = $ .fn.zTree .getZTreeObj( "treeDemo" )、
            parnodes = 新しい新しいアレイ()、
            のallnodes = zTree.transformToArray(zTree.getNodes())、
            namearray = 新しい新しいアレイ()は、
            idarrayは = 新しい新しいArray()を、
            中のフラグ = trueに;
         // サブを取得ノードデータ
        ため){VAR iはL = allnodes.length、= 0。I <L; I ++ ){
             場合(!{れるallnodes [I] .isParent)
                 場合 > -1(checkeduser.indexOf(れるallnodes [I] .ID)){ 
                    namearray.push(れるallnodes [I] .nameの)。
                    idarray.push(れるallnodes [I] .ID)。
                    れるallnodes [I] .checkedを = 
                    zTree.updateNode(れるallnodes [I])。
                    // 获取当前子节点的父节点、进行勾选 
                    parnodes = れるallnodes [I] .getParentNode()。
                    もし(parnodes!= nullを
                        parnodes.checked = ; 
                        zTree.updateNode(れるallnodes [I])。
                        一方、(フラグ){ 
                            parnodes = parnodes.getParentNode()。
                            もし(!parnodes = ヌル){ 
                                parnodes.checked = ; 
                                zTree.updateNode(れるallnodes [I])。// 更新节点

                            } { 
                                フラグ = 
                            }
                        } 
                    } 
                } 
            }
 
        } 
        $( "#userSel" ).val(namearray)。
        $( "#userValue" ).val(idarray)。
    }     

コードの上にシンプルで、粗POは、それをすること~~

おすすめ

転載: www.cnblogs.com/MuZiLily/p/12034674.html