2017-04-21 5 views
1

私は角度の初心者ですので、正直にさせてください。この質問をどのようにフレーム化するのか分かりません。オブジェクトとしてダイナミックng-modelをネストしたng-repeatを使用してください。

ピック1:あなたは上記のPICで見たよう enter image description here

私はクラスのリストを持っているような状況を持っていない、と各クラスは、その下のセクションの何を持っています。クリックすると各行に青色のボタンが表示され、どの「セクション」が選択されたか知る必要があります。

これは問題のステートメントです。

は今ここに、私はここでは、この

<table class="table table-hover"> 
    <tbody> 
    <tr> 
     <th>Syllabus</th> 
     <th>{{phrase.className}}</th> 
     <th>Select Section</th> 
     <th>{{phrase.Operations}}</th> 
    </tr> 
    <tr ng-repeat="class in classes| filter:searchText"> 
     <td id="syl"> 
     <span ng-repeat="(sid, syllabi) in syllabus" ng-if="sid == class.classAcademicYear"> 
      {{ syllabi.yearTitle}} 
     </span> 
     </td> 
     <td id="cls">{{class.className}}</td> 
     <td id="sec"> 
     <div class="form-group"> 
      <select class="form-control" name="student_section" ng-model="selectedSection"> 
      <option ng-selected='class.sections[$index].id' ng-repeat="(key, section) in class.sections" value="{{section.id}}">{{section.sectionName}}</option> 
      </select> 
     </div> 
     </td> 
     <td id="vew"> 
     <button ng-click="edit(class.id)" type="button" class="btn btn-info btn-flat" title="{{phrase.ReadSchedule}}" tooltip><i class="fa fa-fw fa-th-list"></i></button> 
     </td> 
    </tr> 
    <tr ng-show="!classes.length"> 
     <td class="noTableData" colspan="3">{{phrase.NoClasses}}</td> 
    </tr> 
    </tbody> 
</table> 

のために私たちは、私はクラスのリストに基づいて、テーブルの行を作成していnseted NG-repeatが、今、このクラスのオブジェクトはまた、セクションオブジェクトを保持している参照しているHTMLがありますあなたが見ることができるように内側にインナーNGリピートはclasses.sectionsが

今すぐクラスJSONオブジェクトが私は何

[{ 
    "id": 11, 
    "className": "Class-1 (STATE)", 
    "classAcademicYear": 2, 
    "classSubjects": "[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\"]", 
    "dormitoryId": null, 
    "sections": [{ 
    "id": 11, 
    "sectionName": "Section -1 (STATE)", 
    "sectionTitle": "section title -1", 
    "classId": 11, 
    "teacherId": "[\"10\",\"11\",\"12\",\"13\",\"14\",\"15\"]" 
    }] 
}, { 
    "id": 12, 
    "className": "Class-2", 
    "classAcademicYear": 2, 
    "classSubjects": "[\"0\"]", 
    "dormitoryId": null, 
    "sections": [{ 
    "id": 12, 
    "sectionName": "Section -1", 
    "sectionTitle": "section title -1", 
    "classId": 12, 
    "teacherId": "[\"0\"]" 
    }] 
}, { 
    "id": 13, 
    "className": "Class-3", 
    "classAcademicYear": 2, 
    "classSubjects": "[\"0\"]", 
    "dormitoryId": null, 
    "sections": [{ 
    "id": 13, 
    "sectionName": "Section -1", 
    "sectionTitle": "section title -1", 
    "classId": 13, 
    "teacherId": "[\"0\"]" 
    }] 
}, { 
    "id": 14, 
    "className": "Class-4", 
    "classAcademicYear": 2, 
    "classSubjects": "[\"0\"]", 
    "dormitoryId": null, 
    "sections": [{ 
    "id": 14, 
    "sectionName": "Section -1", 
    "sectionTitle": "section title -1", 
    "classId": 14, 
    "teacherId": "[\"0\"]" 
    }] 
}] 

の下に示されているようなオプションを反復することを使用していますしようとすると、内側の選択ドロップダウン要素のためのngモデルを設定します。これは、以下のように、セクションが選択されるたびに青いボタンのアクションを任意のセクションIDに設定できます。動作していない

NGモデル= "selectedSection [class.id"

これは十分な情報ではないかもしれないが、もし私がこれを解決するのに興味がある人がいたら、私は詳細を分かち合うことができる。

+0

作業コード(例えば、jsbinなど)を指定すると、はるかに良いでしょう。 – paulpeters

答えて

0

ng-repeat行が選択されているかどうかを調べるには、値$ indexと$ parent。$ index(ng-repeatをネストしている場合)を送信する必要があります。

<button ng-click="edit($index, $parent.$index)" type="button"> 

役立ちますか?

+0

$ parent。$ indexは未定義です! &2番目のng-repeatの$ indexにアクセスできますか?もちろん、ボタンはng-repear内になければなりません。 – BlackBurn027

+0

もちろん、$ index、$ parentを持つng-click属性です。第2のループの内側にある。 – paulpeters

+0

オプションループ内にボタンを配置するのはなぜですか?もう一度HTMLを見て回ることができます – BlackBurn027

関連する問題