angular js默认勾选单选按钮
angular js default checked radio button
我知道这可能已经被问过很多次了,我已经完成了解决方案,但是 none 似乎对我有用...
html 文件:
<input id="sampleA" name="try" type="radio" data-ng-model="$ctrl.isSampleA" value="true" data-ng-change="$ctrl.update()"></input>
<label for="sampleA">Sample A</label>
<input id="sampleB" name="try" type="radio" data-ng-model="$ctrl.isSampleA" value="false" data-ng-change="$ctrl.update()"></input>
<label for="sampleB">Sample B</label>
js文件:
//Initialization:
vm.isSampleA = false;
//This function returns the correct boolean value returned by API
vm.update = function() {
vm.isSampleA = response.rows["0"].sampleA;
};
我将简要解释流程:
默认检查最初是 'Sample B' 选项。然后用户检查 'Sample A' 选项并将更新后的值发送到 REST API,在那里它得到正确更新。接下来当我想再次编辑此表单时:
预期:'Sample A' 应检查
实际:检查了 2 个选项中的 none,即使 'isSampleA' 的值为真。
使用 ng-value
指令而不是普通的 value
属性:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script>
angular.module('app', [])
</script>
<div ng-app='app' ng-init='test=true'>
<label>
<input type="radio" ng-model="test" ng-value="true">
One
</label>
<br/>
<label>
<input type="radio" ng-model="test" ng-value="false">
Two
</label>
<br/>
<button ng-click='test = !test'>Click</button>
</div>
我知道这可能已经被问过很多次了,我已经完成了解决方案,但是 none 似乎对我有用...
html 文件:
<input id="sampleA" name="try" type="radio" data-ng-model="$ctrl.isSampleA" value="true" data-ng-change="$ctrl.update()"></input>
<label for="sampleA">Sample A</label>
<input id="sampleB" name="try" type="radio" data-ng-model="$ctrl.isSampleA" value="false" data-ng-change="$ctrl.update()"></input>
<label for="sampleB">Sample B</label>
js文件:
//Initialization:
vm.isSampleA = false;
//This function returns the correct boolean value returned by API
vm.update = function() {
vm.isSampleA = response.rows["0"].sampleA;
};
我将简要解释流程: 默认检查最初是 'Sample B' 选项。然后用户检查 'Sample A' 选项并将更新后的值发送到 REST API,在那里它得到正确更新。接下来当我想再次编辑此表单时:
预期:'Sample A' 应检查
实际:检查了 2 个选项中的 none,即使 'isSampleA' 的值为真。
使用 ng-value
指令而不是普通的 value
属性:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script>
angular.module('app', [])
</script>
<div ng-app='app' ng-init='test=true'>
<label>
<input type="radio" ng-model="test" ng-value="true">
One
</label>
<br/>
<label>
<input type="radio" ng-model="test" ng-value="false">
Two
</label>
<br/>
<button ng-click='test = !test'>Click</button>
</div>