2016-09-08 6 views
0

以下のコードに問題があります。 diagsオブジェクト内anglejsを使用して親モデルオブジェクトを更新する方法

<tr ng-repeat="diag in diags track by diag.id"> 
     <td> 
      <select id="ddTest" ng-change="changeevent()"> 
       <option value="">Select Number</option> 
       <option ng-repeat="o in orderNumbers" data-diagId="{{diag.id}}" ng-selected="o==diag.ordernumber">{{order}} 
       </option> 
      </select> 
     </td> 
    </tr> 

$scope.orderNumbers= [1,2,3,4,5,6,7,8,9,10]; 

それにordernumberを含む配列です。カスタム属性data-diagIdを使用してdiagsオブジェクトへのddTestドロップダウンの変更から特定のordernumberを更新しようとしています。私はddTestドロップダウンのモデルを持っていません(必要ならば追加できます)。私はロード時の値を設定したいと同時に、親オブジェクトを選択した新しい注文番号で更新する必要があります。誰でも私にこれを手伝うことができますか?

答えて

0

お客様の選択にng-optionsディレクティブとng-modelを使用すると、選択が変更されるたびにdiag.ordernumberが変更されるため、選択されたオプションは追加プログラミングなしでモデルに接続されます。ここでは完全な作業例:まさに私が探していたされて

var app = angular.module("diagApp", []); 
 

 
app.controller("diagController", function($scope) { 
 
    $scope.orderNumbers= [1,2,3,4,5,6,7,8,9,10]; 
 
    
 
    //test diags 
 
    $scope.diags=[ 
 
    {id:1,ordernumber:1}, 
 
    {id:2,ordernumber:2}, 
 
    {id:3,ordernumber:3} 
 
    
 
    ]; 
 
    
 
    //to prove that diag is changing 
 
    $scope.change=function(diag){ 
 
    
 
     console.log(diag); 
 
    
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="diagApp"> 
 
<table ng-controller="diagController"> 
 
<tr ng-repeat="diag in diags track by diag.id"> 
 
     <td> 
 
      <select ng-change="change(diag)" id="ddTest" ng-model="diag.ordernumber" ng-options="item as item for item in orderNumbers track by item"> 
 
      </select> 
 
     </td> 
 
    </tr> 
 
</table> 
 
</div>

+0

。ありがとうございました !!! – Pradeep

+0

@Pradeepようこそ。 –

関連する問題