2016-07-22 11 views
0

1ページで追加と編集を行っています。リストは下の表に示されています。リストから、編集ボタンをクリックしている間、そのアイテムのIDをURLに渡したいと思います。誤ってページがリフレッシュされると、データは編集フォームに残ります。そしてまた、私は、ネストされたビュー使用しています:anglejsを使用してコントローラからurlにパラメータを渡す方法

<button class="btn btn-primary btn-xs" ng-click="editCourier({id: x.id})"> 
             <i class="fa fa-pencil"></i> 
            </button> 

マイcontroller.jsが

$scope.editCourier = function(id, index) { 
     $.ajax({ 
      'type': "POST", 
      'async': false, 
      'global': false, 
      'url':'settings/editCourier', 
      'data': 'id='+id, 
      'dataType': "json", 
      'success': function (data) { 
       $scope.formData = data[0];     
      } 
     });  
    } 

編集する(例えばsettings.couriers) 私のHTMLをどのような方法があります。助けてください。

<button class="btn btn-primary btn-xs" ng-click="editCourier({id: x.id})"> 
    <i class="fa fa-pencil"></i> 
</button> 

に:

<a href="/editCourier/id" /> 

とコントローラで

は、角度のRouteParamsを使用してIDを取得し、あなたが

+0

私の編集はうまくいきます。しかし、私はURLパラメータとしてidを渡したいと思います。そのため、ページをリフレッシュすると値はそのまま入力ボックスに残ります – AAT

+0

これは一部のルーティングなどでSPAではありませんが、編集フォームが表示されている間に不要なページ更新が発生した場合でもURLに影響を与えたい? –

+0

具体的には、私のURLはhttp:// localhost/myproject /#/ staffs/add_staff?id = 52です。私のコントローラでid値を取得するにはどうすればいいですか? $ stateParams.idを試しました。 – AAT

答えて

0

<button class="btn btn-primary btn-xs" ng-click="editCourier(index)"> 
             <i class="fa fa-pencil"></i> 
            </button> 

に私のHTMLを変更機能にIDを渡すことができます私はコントローラ機能を変更しました。

$scope.editCourier = function(index) { 
     $.ajax({ 
      'type': "POST", 
      'async': false, 
      'global': false, 
      'url':'settings/editCourier', 
      'data': 'id='+ $stateParams.id, 
      'dataType': "json", 
      'success': function (data) { 
       $scope.formData = data[0]; 
       $scope.couriers.splice(index, 1); 
       $state.go('statename', {id: $stateParams.id}, {reload: true});    
      } 
     });  
    } 
0

変更ありがとうございます。 このlink

0

を参照してくださいあなたは直接editCourier(x.id)

<button class="btn btn-primary btn-xs" ng-click="editCourier(x.id)"> 
    <i class="fa fa-pencil"></i> 
    </button> 

とコントローラ

$scope.editCourier = function(id, index) { 
     console.log(id);//Check here whether the click id is coming or not 
} 
関連する問題