I can not get the selected text attribute in select2
, I can only get the id.
<div class="col-sm-3">
<input type="text" ui-select2="comboPasta()" ng-model="item.nomePasta" placeholder="Selecione">
</div>
My javascript is this:
$scope.comboPasta = function () {
var c = "rest/pastas";
return c,{
minimumInputLength: 0,
ajax: {
url: "rest/pastas",
data: function (a, b) {
return {
nomePasta: a,
size: 10,
page: b - 1
}
},
results: function (a) {
for (var b = 0; b < a.length; b++) a[b].text = a[b].nomePasta;
return {
results: a,
more: 10 === a.length
}
}
},
initSelection: function (a, b) {
$.ajax("rest/pastas/" + a.val()).done(function (a) {
b({
id: a.id,
text: a.nomePasta
})
})
}
}
};
And this is the function I'm trying to use to capture the field text.
$scope.addPermissoes = function addPermissoes() {
var mensagem = "";
if($scope.item.nomePasta == null){
mensagem += "Informe o nome da pasta.\n";
}
if($scope.item.nomeSubPasta == null){
mensagem += " Informe o nome da sub pasta.\n";
}
if(!$scope.item.leitura && !$scope.item.gravacao &&
!$scope.item.exclusao && !$scope.item.compartilhar){
mensagem += " Informar pelo menos uma permissão para as pastas.\n";
}
if(mensagem.length > 0){
$notify.warning(mensagem);
}else{
$scope.perfil.perfilPastaDTOs || ($scope.perfil.perfilPastaDTOs = []);
$scope.perfil.perfilPastaDTOs.push({
nomePasta: $scope.perfil.perfilPastaDTOs.nomePasta,
nomeSubPasta: $scope.item.nomeSubPasta,
leitura: $scope.item.leitura,
gravacao: $scope.item.gravacao,
exclusao: $scope.item.exclusao,
compartilhar: $scope.item.compartilhar
})
}
}