aramadhani
aramadhani

Reputation: 53

$scope variable is undefined in post

I have AngularJS repeat biaya in data_biaya that I have from JSON.

When I ng-click="simpan_biaya(data_biaya)", why is the data posting undefined?

<input type="button" ng-click="simpan_biaya(data_biaya)" value="Simpan"/>
<tr ng-repeat="biaya in data_biaya | filter:{tahapan_id : 10}" >
      <td>{{$index+1}}</td>
      <td><span >{{biaya.tanggal_transaksi}}</span></td>
      <td><span>{{biaya.uraian}}</span></td>
      <td><span>{{biaya.pihak_nama}}</span></td>
      <td><span >{{data_biaya[$index].pemasukan}}</span></td>
      <td><span>{{biaya.pengeluaran}}</span></td>
      <td>{{biaya.sisa}}</td>
      <td><span >{{biaya.keterangan}}</span></td>
    </tr>

JavaScript

    var datanya=[
        {"id":"23713","id_pembiayaan":"1","perkara_id":"7200","tahapan_id":"10","kategori_id":"1","jenis_biaya_id":"1","pihak_id":null,"pihak_ke":null,"urutan":"1","jenis_transaksi":"1","tanggal_transaksi":"2016-05-26","uraian":"Panjar Biaya Perkara","pemasukan":1000000,"pengeluaran":0,"jumlah":1000000,"sisa":1000000,"keterangan":null,"pihak_nama":"Penggugat"},
        {"id":"23714","id_pembiayaan":"1","perkara_id":"7200","tahapan_id":"10","kategori_id":"11","jenis_biaya_id":"61","pihak_id":null,"pihak_ke":null,"urutan":"2","jenis_transaksi":"-1","tanggal_transaksi":"2016-05-26","uraian":"Biaya Pendaftaran\/PNBP","pemasukan":0,"pengeluaran":"30000.00","jumlah":"30000.00","sisa":970000,"keterangan":null,"pihak_nama":"Penggugat"}
  ];
    var app = angular.module('jurnalApp', []);
    app.controller('jurnalCtrl', function($scope,$http) {
      $scope.data_biaya = [];
      $scope.searchClick = function (data) {
                $scope.$apply(function(){
                      $scope.data_biaya=datanya;
                    });
            };
      $scope.simpan_biaya = function(data){
                var post_data = data;
                $.post("<?php echo base_url().'all_jurnal/set_jurnal_biaya';?>", post_data)
                    .done(function(json){

                });
            }
      angular.element(document).ready(function () {
                $scope.searchClick();
            });

    });

Here: plunker

Enter image description here

Upvotes: 0

Views: 80

Answers (2)

Sajeetharan
Sajeetharan

Reputation: 222682

Try this:

 <input type="button" ng-click="simpan_biaya(data_biaya)" value="Simpan"/>

DEMO

Based on the attached screenshot, you should pass JSON data, convert the data to JSON before passing:

 var dataJson=angular.toJson(post_data);

Upvotes: 1

SoPhat Vathana
SoPhat Vathana

Reputation: 80

you should use that:

 var post_data = data; var dataJson=angular.toJson(post_data); $.post("
         <?php echo base_url().'all_jurnal/set_jurnal_biaya';?>", dataJson ) .done(function(json){ });

Upvotes: 0

Related Questions