私は ng-options に渡すオブジェクトの配列を持っています。配列には次のパターンの通貨のオブジェクトが含まれています:
[{
"cur_iso": "ILS",
"cur_symbol": "\u20aa",
"cur_name_he": "\u05e9\u05e7\u05dc",
"cur_rate_in_nis": "1.0000",
}, {
"cur_iso": "USD",
"cur_symbol": "$",
"cur_name_he": "\u05d3\u05d5\u05dc\u05e8",
"cur_rate_in_nis": "3.8580"
}]
ng-options
この配列から選択するため に使用しています。
<select ng-model="bindCurrencyModel" ng-init="bindCurrencyModel='ILS'"
ng-options="currency.cur_iso as currency.cur_symbol+' '+currency.cur_name_he for currency in currencies track by currency.cur_iso"
ng-change="setCurrency(currency)">
</select>
ユーザーが選択を変更しているときに、 bindCurrencyModelとcur_iso
valueの2 つのフィールドを更新したいと考えて
bindRateModel
いcur_rate_in_nis
ます。
だから私は次の方法を作成しました:
$scope.setCurrency=function(currency){
$scope.bindRateModel=parseFloat(currency.cur_rate_in_nis);
};
および set ng-change="setCurrency(currency)" しかし、問題は私が得ていることです:
TypeError: Cannot read property 'cur_rate_in_nis' of undefined
別の奇妙な動作は、選択の最初にある空の行です。
フィドルを作成したすべてのコードを表示するには....
http://jsfiddle.net/d9esbgjf/5/
ありがとう!