jQuery EasyUI ツリーメニュー -非同期ツリーメニューの作成

非同期のツリーメニュー(Tree)を作成するには、各ツリーノードに 'id' 属性が必要です。この属性はサーバーに送信され、子ノードのデータを取得します。

ツリーメニュー(Tree)の作成

    <ul id="tt" class="easyui-tree"
            url="tree2_getdata.php">
    </ul>

サーバーサイドのコード

    $id = isset($_POST['id']) ? intval($_POST['id']) : 0;

    include 'conn.php';

    $result = array();
    $rs = mysql_query("select * from nodes where parentId=$id");
    while($row = mysql_fetch_array($rs)){
        $node = array();
        $node['id'] = $row['id'];
        $node['text'] = $row['name'];
        $node['state'] = has_child($row['id']) ? 'closed' : 'open';
        array_push($result,$node);
    }

    echo json_encode($result);

    function has_child($id){
        $rs = mysql_query("select count(*) from nodes where parentId=$id");
        $row = mysql_fetch_array($rs);
        return $row[0] > 0 ? true : false;
    }

jQuery EasyUI サンプルをダウンロード

jeasyui-tree-tree2.zip

その他の拡張