Bootstrap树视图节点不会扩展

时间:2016-11-30 12:10:46

标签: javascript php ajax twitter-bootstrap treeview

我有一个特定的bootstrap树视图的问题,我已经尝试了一切,但节点没有扩展,我通过一个加载文件使用ajax请求,我检索来自数据库的信息,数据正常显示,唯一一个我已经尝试了treeview引导程序提供的所有方法,但它返回它不知道使用的方法,下面我将发送我使用的特定代码。

Function that calls a tree:

var levelTree = 2;

    function getTree() {
        var data = '';
        $.ajax({
            url: 'atividades/atividades_load.php',
            data: {idObraAtiva: <?php echo $idObra; ?>},
            async: false,
            dataType: 'json',
            type: 'post',
            beforeSend: function () {
            },
            success: function (retorno) {
                data = retorno;
                console.log(retorno);
            },
            error: function () {
                bootbox.alert('Erro, contate o suporte!');
            }
        });
        return data;
    }

    $('#atividadeTree').treeview({
        data: getTree(),
        levels: levelTree,
        backColor: "#C4E3F3",
        onNodeSelected: function (event, data) {

            if (data.qtdfilhos == 0) {
                $('#table_Andamento').bootstrapTable('refresh', {url: 'atividades/atividade_andamento_load.php?q=' + data.id});
            }
            $('#table_AtividadeFilha').bootstrapTable('refresh', {url: 'atividades/atividade_filha_load.php?p=' + data.id});

            $('#fmAndamento_idatividade').val(data.id);
            $('#fmAtividadeSub_idAtividade').val(data.id);

        },
        onNodeExpanded: function (event, data) {
            $.ajax({
                url: 'atividades/atividades_load.php',
                data: {idObraAtiva: <?php echo $idObra; ?>,idNo:data.id},
                async: false,
                dataType: 'JSON',
                type: 'POST',
                beforeSend: function (){
                },
                success: function (filho){

                $('#atividadeTree').treeview('addNode',[filho, data.id, 
{silent: false} ]);
                    console.log(filho);

                },
                error: function () {
                    bootbox.alert('Erro, contate o suporte!');
                }
            });


        }
    });


Function that calls the data, and reorganizes the treeview

<?php
include('../../sessao.php');
require_once('../../J3_FrameWork/Conexao.php');

function getItemPai($_arrLista, $_id)
{
    foreach ($_arrLista as $item) {
        if ($item->id == $_id) {
            if (!property_exists($item, 'nodes')) $item->nodes = array();
            return $item;
        }else
            if (property_exists($item, 'nodes')) {
                if (is_array($item->nodes)) {
                    $aux = getItemPai($item->nodes, $_id);
                    if ($aux != null)
                        return $aux;
                }
            }
    }
    return null;
}


$idObra = $_REQUEST['idObraAtiva'];


if (isset($_REQUEST['idNo'])) {
    $idNo = $_REQUEST['idNo'];
}else{
    $idNo = -1;
}


$conexao = Proxy::mrObra();

$param = array("_parameters" => array($idObra, $idNo));
$resultado = $conexao->comando('GetAtividadesArvore', json_encode($param));
$resultado = json_decode($resultado);

$lista = $resultado->result[0];

$listanova = array();


foreach ($lista as $item) {

    $novoitem = new stdClass();
    $novoitem->id = $item->ID;
    $novoitem->text = $item->DESCRICAO. ' - ' .$item->QTDFILHOS;
    $novoitem->qtdfilhos = $item->QTDFILHOS;
    $novoitem->valor = $item->VALOR;
    $novoitem->qtdativsub = $item->QTDATIVSUB;

    if($item->QTDFILHOS > 0)
    {
        $novoitem->nodes = array();
    }

    if ($item->IDPAI == -1) {
        array_push($listanova, $novoitem);
    } else {
        array_push($listanova, $novoitem);
    }
}



echo json_encode($listanova);
?>

Função que chama os dados, e reorganiza a treeview


<?php
include('../../sessao.php');
require_once('../../J3_FrameWork/Conexao.php');

function getItemPai($_arrLista, $_id)
{
    foreach ($_arrLista as $item) {
        if ($item->id == $_id) {
            if (!property_exists($item, 'nodes')) $item->nodes = array();
            return $item;
        }else
            if (property_exists($item, 'nodes')) {
                if (is_array($item->nodes)) {
                    $aux = getItemPai($item->nodes, $_id);
                    if ($aux != null)
                        return $aux;
                }
            }
    }
    return null;
}


$idObra = $_REQUEST['idObraAtiva'];


if (isset($_REQUEST['idNo'])) {
    $idNo = $_REQUEST['idNo'];
}else{
    $idNo = -1;
}


$conexao = Proxy::mrObra();

$param = array("_parameters" => array($idObra, $idNo));
$resultado = $conexao->comando('GetAtividadesArvore', json_encode($param));
$resultado = json_decode($resultado);

$lista = $resultado->result[0];

$listanova = array();


foreach ($lista as $item) {

    $novoitem = new stdClass();
    $novoitem->id = $item->ID;
    $novoitem->text = $item->DESCRICAO. ' - ' .$item->QTDFILHOS;
    $novoitem->qtdfilhos = $item->QTDFILHOS;
    $novoitem->valor = $item->VALOR;
    $novoitem->qtdativsub = $item->QTDATIVSUB;

    if($item->QTDFILHOS > 0)
    {
        **$novoitem->nodes = array();**
    }

    if ($item->IDPAI == -1) {
        array_push($listanova, $novoitem);
    } else {
        array_push($listanova, $novoitem);
    }
}



echo json_encode($listanova);
?>

1]

0 个答案:

没有答案