3

私はAngularJSが初めてなので、助けてください。

ボタンのオンクリックでドロップダウンリストを生成するコードがあります。

ドロップダウンリストはデータベースからデータを取得し、データを取り込みます。controller.cs ファイルから LINQ を使用してそれらを設定しました。

値は、次を使用して各ドロップダウンにバインドされます

ng-model=item.projectId

item は controller.cs から返されたリストで、projectId はプロジェクトを識別するために使用している ID です。

ここで、各ドロップダウン リストで選択したすべての値をサーバーに送信したいと考えています。

ここでは 2 つの ng-model ディレクティブを使用しています。1 つはドロップダウンリストに入力されたデータを取得するためのもので、もう 1 つは以前の ng-model コードをラップする部門にあるサーバーに値を送信するためのものです。

実際に私がやりたいことは、プロジェクトの追加のクリックでドロップダウンを生成していることです。これらのドロップダウンのこれらの選択された値を配列に保存し、コントローラー (mvc.net コントローラー サーバー側コード) に送信してさらに保存します。それをデータベースに。

コードを提供しました。

これがコードです...

//クリックでさらにドロップダウンを追加するためのコントローラー - "Add more projects"

//新しいドロップドンを追加するためのカスタム ディレクティブ (アラート)

<alert ng-repeat="alert in alerts" type="alert.type" close="closeAlert($index)" >
    <ul style="list-style-type: none; margin-left: 0px;" >
        <li>
            <select data-ng-model="selectedProject[$index]"
            data-ng-options="test.ProjectId as test.ProjectName for test in items" id="Project">
            <option value="">-- Choose a Project --</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>

app.js のコード これは私の作成コントローラーです

var CreateCtrlEmp = function ($scope, $location, SampleEmp, SampleProj, SampleDes, sharedValues) {
//gets the projects dropdown populated with values
$scope.items = SampleProj.query({ q: $scope.query });
//gets the designation dropdown populated with values 
$scope.itemsd = SampleDes.query({ q: $scope.query });
//save function
$scope.save = function () {
    SampleEmp.save($scope.item);
    $location.path('/emp');
};};

//「さらにプロジェクトを追加」をクリックして新しいドロップダウンを追加する関数

function AlertDemoCtrl($scope) {
$scope.alerts = [
];
$scope.addAlert = function () {
    $scope.alerts.push({});
};
$scope.closeAlert = function (index) {
    $scope.alerts.splice(index, 1);
};
}

私を助けてください。配列内のプロジェクトのリストを取得し、その配列を送信してさらに処理したいと考えています。ありがとう、トゥシャル・シャルマ

4

2 に答える 2

3

htmlがどのように構成されているかは確かです。しかし、n個のドロップダウンがあるとしましょう

コントローラーで、選択したプロジェクト ID を保持する配列を定義します。

$scope.selectedProjects=[];

HTMLでこのようなことをします

<div data-ng-repeat='item in array'> 
   <select data-ng-model="selectedProject[$index]" data-ng-options="test.ProjectId as test.ProjectName for test in items" id="Project"><option value="">-- Choose a Project --</option> </select> 
</div>

基本的に ng-model を にバインドしますselectedProject[$index]。これにより、選択した値が配列内の要素にバインドされます。この配列は、後でデータを送信するために使用できます。

$indexの現在の相互接続番号は次のとおりですng-repeat。ドキュメントを参照してくださいhttp://docs.angularjs.org/api/ng.directive:ngRepeat

于 2013-09-10T09:59:28.140 に答える