我希望我的formData说明选择了哪个单选按钮。基本上如果是第一个单选按钮,那么如果取消选择它应该设置为true,它应该是false。 目前我的下面的代码模型没有设置。 我尝试使用ng-value但是它没有用。 这就是我试过的
基本上,我希望根据检查状态将模型数据设置为true。
Html代码
<div class="radio">
<input type="radio" id="typeRadio1" name="optradio" ng-model="formData.selectedType.perm" ng-change="isRadioSelected('typeRadio1')" required><label for="typeRadio1">301 PERM</label>
<input type="radio" id="typeRadio2" name="optradio" ng-model="formData.selectedType.temp" ng-change="isRadioSelected('typeRadio2')" required><label for="typeRadio2">302 TEMP</label>
</div>
app.js
$scope.formData = {}
$scope.isRadioSelected = function(s) {
if (document.getElementById(s).checked) { $scope.formData.selectedType.perm = true; }
else { $scope.formData.selectedType.perm = false;}
if (document.getElementById(s).checked) { $scope.formData.selectedType.temp = true; }
else { $scope.formData.selectedType.temp = false;
}
}
答案 0 :(得分:0)
当您checkbox
时,您不需要ng-value
,因为您将获得true/false
,但复选框也有唯一的ng-model
,但所有广播与name
ng-value
相同
var app = angular.module("app", []);
app.controller("ctrl", function($scope){
$scope.checkboxSelected = function(item){
console.log(item)
}
$scope.radioSelected = function(){
console.log($scope.form.radio)
}
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
checkbox1 - {{form.checkbox1}}
<input type="checkbox" ng-change="checkboxSelected(form.checkbox1)" ng-model="form.checkbox1"/>
checkbox1 - {{form.checkbox2}}
<input type="checkbox" ng-change="checkboxSelected(form.checkbox2)" ng-model="form.checkbox2"/>
<hr>
radio - {{form.radio}}
<input type="radio" name="radio" ng-value="1" ng-change="radioSelected()" ng-model="form.radio"/>
<input type="radio" name="radio" ng-value="2" ng-change="radioSelected()" ng-model="form.radio"/>
</div>
&#13;