2017-07-19 91 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