ここに示すように、顧客のリストを作成する ngRepeat があります。
<div ng-repeat="terr in terrData.data">
<div class="customer-row" ng-click="clickCustomerSelect(terr)">
<input class="customer-radio" type="radio" name="customer-select" ng-model="selectedCustomerRow" value="{{terr.customerID}}">
<div class="contact-data-column">{{terr.custNm}}</div>
<div class="primaryphone-data-column">{{terr.primaryPhone}}</div>
<!-- other customer data -->
</div>
</div>
行がクリックされた場合、行のラジオボタンをチェックする必要があることを示す、customer-row div のクリック イベントがあります。
ここに示す基本的なコントローラ ロジック:
$scope.clickCustomerSelect = function(customer){
$scope.selectedCustomerRow = customer.customerID.toString();
//Other business logic
};
(ラジオ ボタンではなく) 顧客の行がクリックされるたびに、モデルが適切に更新され、その値に対応するラジオ ボタンがチェックされることがわかります。これは期待される機能であることに注意してください。
私が見ている問題は、ラジオ ボタンを手動でオンにすると (つまり、行をクリックしないで)、モデルが行のクリックによる更新に応答しなくなることです。
どういうわけか、ラジオボタンを選択すると、角度範囲の外に出てしまうのではないかと思いますか?
編集:サンプルモデル
terrData.data = [{
"customerID": 1,
"companyName": "Name 1",
"custNm": "Blank",
"primaryPhone": "111-111-1111"
}, {
"customerID": 2,
"companyName": "Name 2",
"custNm": "Blank",
"primaryPhone": "111-111-1112"
}, {
"customerID": 3,
"companyName": "Name 3",
"primaryPhone": "111-111-1113"
}];