Immistart Cur Table
by paulftw
HTML
<script src='//ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.js'></script>
<table ng-app ng-controller=immi_FoodTable>
<tr><td>Валюта:</td></tr>
<tr>
<td><input type="radio" ng-model="curname" value="AUD" style="vertical-align: baseline;"/> Австралийский доллар
</td>
<td><input type="radio" ng-model="curname" value="RUB" style="vertical-align: baseline;"/> Российский рубль, курс: {{coef.RUB.rate}}
</td>
<td><input type="radio" ng-model="curname" value="UAH" style="vertical-align: baseline;"/> Украинская гривна, курс: {{coef.UAH.rate}}
</td>
</tr>
</table>
<table>
<tr>
<td valign="bottom" nowrap="nowrap" width="90">Чтото</td>
<td valign="bottom" nowrap="nowrap" width="77"> $ 2.78</td>
</tr>
</table>
JavaScript
window.immi_FoodTable = function($scope) {
$scope.coef = {
AUD: {rate: 1, sym: 'A$'},
RUB: {rate: 30.3, sym: 'руб'},
UAH: {rate: 7.5, sym: 'грн'}
};
$scope.curname = 'AUD';
window.immi_InitFoodTable();
$scope.$watch('curname', function() {
var co = $scope.coef[$scope.curname];
window.immi_ChangeCurrency(co.sym, co.rate);
});
};
window.immi_InitFoodTable = function() {
jQuery('td').each(function(i, e) {
e = jQuery(e);
var re = /\s*\$\s*([0-9.]+)/;
if (!re.test(e.text())) {
return;
}
var m = e.text().match(re)[1];
e.css('text-align', 'right')
e.data('enchanted', 1);
e.data('orig', e.text());
e.data('aud', parseFloat(m));
});
};
window.immi_ChangeCurrency = function(sym, rate) {
jQuery('td').each(function(i, e) {
e = jQuery(e);
if (e.data('enchanted') != 1) {
return;
}
e.text((rate*e.data('aud')).toFixed(2) + ' ' + sym);
});
};