2017-07-19 87 views
0

我有谁有一个按钮,一个用于创建和其他的编辑索引视图与价值生根,并设置为默认为选择

这指数有谁给依赖的<select>选定值的像一个DataTable:

function cargarCatalogo() { 
    apiService.get("/api/Catalogos/Get/", null, 
    function(res) { 
     $scope.Catalogos = res.data; 
     $scope.selected = $scope.Catalogos[0]; 

     $scope.filtro($scope.selected); 
    }, errorCatalogo); 
} 


// Here I load datatable depending of selected value 
$scope.filtro = function(selected) { 
    $("#tabla_catalogos").dataTable().fnDestroy(); 
    apiService.get("../../api/Catalogo/GetCatalogoRegistro/" + selected.ID); 

    var table = $('#tabla_catalogos').DataTable({ 
    searching: true, 
    dom: 'ftpB', 
    autoWidth: false, 
    buttons: [ 
     //'excelHtml5', 'csv', 'print' 
    ], 
    paging: true, 
    select: { 
     style: 'single' 
    }, 
    info: false, 
    ordering: true, 
    "processing": true, 
    ajax: { 
     method: 'GET', 
     url: "../../api/Catalogo/GetCatalogoRegistro/" + selected.ID, 
     dataSrc: '', 
     beforeSend: function(request) { 
     request.setRequestHeader("Version", $scope.usuario.Version); 
     request.setRequestHeader("Origen", 'Web'); 
     } 
    }, 
    columns: [{ 
     data: 'Catalogo', 
     visible: false, 
     searchable: false 
    }, { 
     data: 'Codigo' 
    }, { 
     data: 'ID', 
     visible: false, 
     searchable: false 
    }, { 
     data: 'Nombre' 
    }, { 
     data: 'Padre', 
     visible: false, 
     searchable: false 
    }], 
    pageLength: 10, 
    language: { 
     "emptyTable": "No se encontraron registros", 
     "zeroRecords": "No encontraron coincidencias", 
     "search": "Buscar: " 
    } 
    }); 

    $("#eliminar").prop('disabled', true); 
    $("#editar").prop('disabled', true); 
    table.on('select', function(e, dt, type, indexes) { 
    $("#eliminar").prop('disabled', false); 
    $("#editar").prop('disabled', false); 
    }); 
    table.on('deselect', function(e, dt, type, indexes) { 
    $("#eliminar").prop('disabled', true); 
    $("#editar").prop('disabled', true); 
    }); 
}; 

正如你可以看到它设置选择默认值:$scope.selected = $scope.Catalogos[0];所以当指数加载它总是第一个选项中选择

所以我的看法是这样的: enter image description here

当我点击添加或编辑,它加载root.detallesRegistros,但现在当我补充一下它运行此功能:

$scope.insertar = function() { 
     var url = "../../api/Catalogo/UpdateCatalogoRegistro/" 
     apiService.post(url, null, 
      function(response) { 
      bootbox.alert("Success!"); 
      $state.go("root.catalogosgenericos"); 
      } 
      }); 
     } 

    } 

正如你可以看到它重定向到catalogosgenericos$state.go("root.catalogosgenericos");这是我的索引,并将其加载因为我有$scope.selected = $scope.Catalogos[0];,我想要的是选择值取决于我添加的项目,例如,如果我clic“modelos”然后单击添加,当我提交新的“modelos”我希望它返回我catalogosgenericos视图,但与“modelos”作为选定的价值,是否有可能做到这一点?

回答

0

您可以发送新的选定值作为状态参数。

$state.go("root.catalogosgenericos", {param: param}); 

在您的第一个函数中检查状态参数并将值分配给$ scope.selected。由于最初没有状态参数,因此可以将其分配给数组的第一个元素。

+0

我这样做,它加载我的选择,但是当它被预先定义选择它只是不显示数据表的值。为什么会出现错误? – Ledwing