Seçme

2016-04-12 24 views
0

Seçmeli çoklu satır tablosu Bu yüzden her satırda seçim kutuları olan bir tablo var. Sorun şu ki, bir seçim kutusunda bir değişiklik yaptığımda, hepsi aynı değeri gösterecek şekilde değişiyor. İhtiyacım olan şey, her birinde farklı seçimlere sahip olabilmeleri için tüm seçili kutuları açmaktır. Eğer mappingTypes.name bağlanma ng-model kullandığınızda onu tanımlanan nerede çünküSeçme

<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

Verilerinizin burada nasıl yapılandırıldığı gerçekten açık değil ve bu soruyu yanıtlamak için gerçekten önemli bilgiler. – Scott

+0

$ scope.mappingType = [{name: "Spor"}, {name: "League"}, {name: "Eşleme Yok"}]; Sonra yaklaşık 1000 nesne içeren bir tablom var. Bir seçimde bir seçim yaparsam, diğer ikisi de aynı değeri gösterir şekilde güncellenir ... – kikemx78

cevap

0

o denetleyici kapsamına özelliğini değiştirir:

Kod böyle gider. mappingTypes, ng-repeat kapsamının bir parçası değildir, bu nedenle kapsam kalıtım zincirinden geçer ve orada günceller. Bir öğeyi seçtiğinizde, mappingTypes artık name özelliğine sahip bir dizidir. Tüm öğeleriniz aynı diziye bağlanır, dolayısıyla hepsi aynı değere sahiptir.

ng-repeat'da yalnızca belirli bir öğeyi değiştirmek isterseniz, item.mapping gibi bir şey kullanmalısınız. item'dan başka bir şey değiştirirseniz, tüm denetleyicinin kapsamını değiştirir.

+0

Merhaba Scott, item.mapping'i tam olarak kullanmak zorunda mıyım? – kikemx78

+0

'