Pasando id en ventana modal ionic v1


#1

hola buenas tardes me encuentro con el siguiente problema tengo el sigueinte listado que esta cargado con un objeto json, el cual a cada elemento le tengo adjuntado un boton de editar y eliminar

Listado de Pedido
      <ion-item ng-repeat="pedido in pedido">

 <h2>N°{{pedido.id_menu}}  Fecha:{{pedido.fecha}}</h2>
 <p>{{pedido.proveedor}}</p>
 <p>{{pedido.comida}}</p>
 <p>{{pedido.postre}}</p>
 <p>{{pedido.precio}}</p>
      <a class="button button-small button-assertive ion-trash-a" ng-click="BorrarPedido(pedido.id_menu)"> Eliminar</a>
      <a class="button button-small button-positive ion-edit" ng-click="openModal (pedido.id_menu)"> Editar</a>
       </ion-item>

    </ion-list>
 </form>
y le asigne un modal para que una vez seleccionado el que quiero editar me habra dicho modal con los datos a editar

Editar Pedido

Nro :{{pedido.id_menu }} Fecha: {{pedido.fecha}} Proveedor : Comida : Postre : Precio :
Guardar y el siguiente controlador .controller('MostrarPedidoCtrl',function($scope,$http,$state,$ionicPopup,$ionicModal){ $ionicModal.fromTemplateUrl('my-modal.html', { scope: $scope, animation: 'slide-in-up' }).then(function(modal) { $scope.modal = modal; }); $scope.openModal = function(id_menu) { $scope.modal.show(); }; $scope.closeModal = function() { $scope.modal.hide(); } el tema es que cuando selecciono en el modal emergente, el modal me carga mas de una vez el elegido y no me deja modificar, por favor me darian una ayuda de como seria la manera correcta de pasar el id, necesito solucionarlo desde ya muchas gracias.

#2

No me queda del todo claro tu codigo.
Pero si me puedo dar a entender…
Cuando yo hice esto promero guarde la seleccion en una variable y luego abri el modal.

ModalEditar(id){
$scope.id_editar=id;
$scope.modal.open()
}


#3

hola luis yo ya habia probado de esa manera, mira aca te dejo el link donde habia publicado mi codigo, sino y si podes me das un mail y te mando bien el proyecto para que veas a que me refiero.


#4

estoy casi seguro que es cosa del "BorrarPedido( $index )en lugar de "BorrarPedido(pedido.id_menu)
mandame el codigo a luisma-sen23@outlook.com y le echo un ojo.
entodo caso conoces appcamp ? le quedan un par de semanas.
por que no brincas a la seccion de listas para darte una idea?


#5

esto fue lo que yo hice hace un tiempo



        <img class="list-map" ng-src="https://maps.googleapis.com/maps/api/staticmap?center= {{item.latitud}},{{item.longitud}}&zoom={{item.zoom}}&size=200x200&key=AIz.....dMvFJtrBeLE">
        <h2>{{item.nombreZona}}</h2>
        <p>Lugar: {{item.latitud}}, {{item.longitud}}</p>
        <p> zoom: {{item.zoom}}</p>
        <ion-option-button class="button-info button-assertive" ng-click="eraseLocation($index);"> borrar </ion-option-button>
        <ion-option-button class="button-info button-positive" ng-click="openModalToEdit($index);"> editar</ion-option-button>
        <!-- <ion-delete-button class="ion-minus-circled assertive" ng-click="erase($index);">erase </ion-delete-button> -->
        <!-- <ion-reorder-button class="ion-navicon" on-reorder="reorderItem(item, $fromIndex, $toIndex)"> </ion-reorder-button> -->

    </ion-item>
</ion-list>

#6

ya vi que pasó, estas pasando el pedido.id_menu , pero no estas haciendo nada con el . te recomiendo pasar el objeto pedido completo y luego actualizar usando el objeto pedido.
algo como $scope.selectedPedido = pedido [ index] para saber cual estas pasando.
saludos y suerte


#7

Muchas gracias Luis me salvaste la vida, fuiste de mucha ayuda, gran abrazo