Angularjs 如何检查选择列表中的元素数并禁用单选按钮?
我想:Angularjs 如何检查选择列表中的元素数并禁用单选按钮?,angularjs,Angularjs,我想: 当选择列表(名称为“UpdatedVertisement”)只有1个元素时,禁用单选按钮(名称为“advertisementType”) 当选择列表上的所选选项具有空值时,禁用提交按钮(名称为“saveButton”) 我怎样才能做到这一点呢 这是我的html: <div ng-controller="AdvertisementCtrl"> <form ng-submit="save()"> <input type="radio
- 当选择列表(名称为“UpdatedVertisement”)只有1个元素时,禁用单选按钮(名称为“advertisementType”)
- 当选择列表上的所选选项具有空值时,禁用提交按钮(名称为“saveButton”)
<div ng-controller="AdvertisementCtrl">
<form ng-submit="save()">
<input type="radio" ng-model="advertisementType" name="advertisementType" value="false">Update<br />
<select ng-model="updateAdvertisement" name="updateAdvertisement" ng-show="advertisementType == 'false'">
<option value>Select item</option>
<option value="1">Volvo</option>
<option value="2">Saab</option>
<option value="3">Mercedes</option>
<option value="4">Audi</option>
</select>
<input type="submit" value="Save" name="saveButton" ng-disabled="saveButton" />
</form>
</div>
更新
选择项
沃尔沃汽车
萨博
梅赛德斯
奥迪
这是我的javascript(但我不知道):
函数AdvertisementCtrl($scope){
}
<script>
function AdvertisementCtrl($scope) {
$scope.cars = ['Volvo', 'Saab', 'Mercedes', 'Audi', 'BMW'];
}
</script>
函数AdvertisementCtrl($scope){
$scope.cars=[‘沃尔沃’、‘萨博’、‘梅赛德斯’、‘奥迪’、‘宝马’];
}
<div ng-controller="AdvertisementCtrl">
<form ng-submit="save()">
<input type="radio" ng-model="advertisementType" name="advertisementType" value="false" ng-disabled="cars.length <= 1">Update<br />
<select ng-model="updateAdvertisement" name="updateAdvertisement" ng-show="advertisementType == 'false'" ng-options="cars">
</select>
<input type="submit" value="Save" name="saveButton" ng-disabled="updateAdvertisement" />
</form>
</div>
更新
应该用小提琴测试:-),以后可以这样做
<div ng-controller="AdvertisementCtrl">
<form ng-submit="save()">
<input type="radio" ng-model="advertisementType" name="advertisementType" ng-disabled='carTypes.length<=1' value="false">Update<br />
<select ng-model="updateAdvertisement" name="updateAdvertisement" ng-options="item.type for item in carTypes">
<option value>Select item</option>
</select>
<input type="submit" value="Save" name="saveButton" ng-disabled="!updateAdvertisement" />
</form>
</div>
JSFIDLE在这里Thx,但RCHAWDY解决方案更好;)此外,在检索选定列表的当前值时,Angular将为您提供整个选定对象,而不仅仅是一个值。因此,在save()函数中,可以通过引用$scope.UpdatedVertisement.id来检索当前选定项的id,或者如果需要名称,可以使用$scope.UpdatedVertisement.type。在这里再次看到更新的JSFIDLE Thx:)
<div ng-controller="AdvertisementCtrl">
<form ng-submit="save()">
<input type="radio" ng-model="advertisementType" name="advertisementType" ng-disabled='carTypes.length<=1' value="false">Update<br />
<select ng-model="updateAdvertisement" name="updateAdvertisement" ng-options="item.type for item in carTypes">
<option value>Select item</option>
</select>
<input type="submit" value="Save" name="saveButton" ng-disabled="!updateAdvertisement" />
</form>
</div>
function AdvertisementCtrl($scope) {
$scope.carTypes = [
{id:'1', type:'Volvo'},
{id:'2', type:'Saab'},
{id:'3', type:'Mercedes'},
{id:'4', type:'Audi'}
]
}