2016-04-12 1 views
0

この表には、各行に選択ボックスがあります。問題は、ある選択ボックスで変更を加えると、すべてが同じ値を示すように変更されるということです。私が必要とするのは、すべての選択ボックスをアンバインドして、それぞれの選択肢を選択できるようにすることです。あなたはそれが定義されています場所それはだから、それは、コントローラのスコープのプロパティを変更しますmappingTypes.nameにバインドするng-modelを使用する場合角度付きng-repeat複数行のテーブル

<tr ng-repeat="item in userMappings.items" ng-model="item.mapped"> 
    <td class="col-md-3" ng-model="mappingType.name"> 
    {{item.idsport}}, Game Type {{item.idgametype}}, {{item.name}} (Current limit {{item.value}}) 
    </td>     
    <td class="col-md-3 mapType" style="padding-bottom: 25px; padding-left: 15px" > 
    <h4>Mapping Type: <span style="font-size:0.8em">{{selectedType}}</span> </h4> <br /> 
    <select ng-model="mappingType.name" ng-change="which($index); selectedRow()" ng-options="item.name for item in mappingType"></select> 
    </td> 
</tr> 
+0

データがここでどのように構造化されているかは、実際にはっきりしていません。この質問に答えることは、本当に重要な情報です。 – Scott

+0

$ scope.mappingType = [{name: "スポーツ"}、{名前: "リーグ"}、{名前: "マッピングなし"}]; 私は約1000のオブジェクトのテーブルを持っています。私が選択したものを選択すると、他のすべてが同じ値を示すように更新されます... – kikemx78

答えて

0

コードは次のようになります。 mappingTypesng-repeatのスコープの一部ではないため、スコープの継承チェーンを通過してそこに更新されます。したがって、項目を選択するとmappingTypesnameプロパティの配列になりました。すべてのアイテムが同じ配列にバインドされるため、すべて同じ値を持ちます。

特定の項目のみをng-repeatに変更する場合は、item.mappingのようなものを使用してください。 item以外のものを変更すると、コントローラのスコープ全体が変更されます。

+0

こんにちはScott、正確にはitem.mappingを使う必要がありますか? – kikemx78

+0

'