私は今から1か月以上アプリケーションに取り組んでいます。しかし、私はある場所で立ち往生しています。シナリオはそれほど難しくありませんが、基本的なものが欠けていると思います。
シナリオ: 多数のドロップダウン リストから選択した値を配列に収集し、それらを app.js のコントローラーに渡します。これにより、値がデータベースに保存されます。
HTML のコード: 注: Alert は、[プロジェクトの追加] ボタンをクリックするとドロップダウン リストを生成するカスタム ディレクティブです。
<div ng-controller="AlertDemoCtrl">
<alert ng-repeat="alert in alerts" type="alert.type" close="closeAlert($index)" ng-model="ProjectId[item.ProjectId]">
<ul style="list-style-type: none; margin-left: 0px;">
<li >
<!--data-ng-model="selectedProject[$index]"-->
<!--data-ng-model="test.ProjectId"-->
<!--<select data-ng-model="test.ProjectId"
data-ng-options="test.ProjectId as test.ProjectName for test in items" id="Project">-->
<select>
<option value="">-- Choose a Project --</option>
<option ng-repeat="item in items" value="{{item.ProjectId}}">{{item.ProjectName}}</option>
</select>
<button type="button" ng-click="closeAlert($index)"><img src="delete.png" alt="Remove" style="height:20px; width:20px;" /></button>
</li>
</ul>
</alert>
<button class='btn' type='button' ng-click="addAlert()">Add Projects</button>
</div>
app.js のコード
var CreateCtrlEmp = function ($scope, $location, SampleEmp, SampleProj, SampleDes, sharedValues) {
$scope.items = SampleProj.query({ q: $scope.query });
$scope.itemsd = SampleDes.query({ q: $scope.query });
$scope.save = function (item) {
//$scope.item.ProjectId = new Array("5","8");
//$scope.ProjectId = new Array();
$scope.item.ProjectId = new Array(item);
alert($scope.item.ProjectId);
SampleEmp.save($scope.item);
$location.path('/emp');
};};
save 関数で値を渡したい。firebug パネルに値が表示されたとき。配列に null 値が含まれていることがわかります。
コントローラーに静的な値を渡すと、値はデータベースに保存されます。
ガイドしてください。
よろしくお願いします。
トゥシャル・シャルマ。