我想问一下,如何从电台列表中获取选定值?
我尝试了更改,并观察范围,但我始终只获得在应用初始化期间设置到模型中的第一个值。
以下是我的代码示例:
单选按钮组:
<div class="list" ng-contoller="SettingsCtrl">
<ion-radio ng-model="choice" ng-value="'dials'">Dials</ion-radio>
<ion-radio ng-model="choice" ng-value="'conversations'">Conversations</ion-radio>
<ion-radio ng-model="choice" ng-value="'appoitnments'">Appointments</ion-radio>
<ion-radio ng-model="choice" ng-value="'orders'">Orders</ion-radio>
</div>
JS:
// Default choice scope
$scope.choice;
$scope.$watch('choice', function(value) {
// Here i get always the same value
console.log("Selected goalType, text: " +value);
});
如何获取选定值并将此值设置到范围内?
感谢您的帮助。
答案 0 :(得分:1)
不使用离子框架和输入单选按钮,它正在工作。
你在这一行<div class="list" ng-contoller="SettingsCtrl">
上犯了一个错误。
你忘记了控制器中的r。
这是代码工作: HTML
<!DOCTYPE html>
<html ng-app="app">
<head>
<script data-require="angular.js@1.2.25" data-semver="1.2.25" src="https://code.angularjs.org/1.2.25/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body >
<div class="list" ng-controller="SettingsCtrl">
<input type="radio" ng-model="choice" ng-value="'dials'">Dials
<input type="radio" ng-model="choice" ng-value="'conversations'">Conversations
<input type="radio" ng-model="choice" ng-value="'appoitnments'">Appointments
<input type="radio" ng-model="choice" ng-value="'orders'">Orders
</div>
</body>
</html>
和JavaScript:
var app = angular.module('app', []);
app.controller('SettingsCtrl', function($scope){
$scope.choice;
console.log('ctrl');
$scope.$watch('choice', function(value) {
// Here i get always the same value
console.log("Selected goalType, text: " +value);
});
});
你可以看到它在这里工作: http://plnkr.co/edit/TRJKW7eOlBek6TditM1B?p=preview
修改强> 我用离子骨架测试了它。它也有效。所以这只是问题所在。
答案 1 :(得分:0)
我为你做了this fiddle。当您选择radio
,$scope.currentSelection
更改时,您将知道当前所选目标。