在AngularJS中,如何更改select的默认选项
In AngularJS, how to change the default option of a select?
我正在使用AngularJS。有两个select
,第一个是"团队选择",第二个是"成员选择"。如果"团队选择"有成员,"成员选择"显示"选择成员",如果"团队选择"没有成员,"成员选择"显示"没有成员"。
我的问题是如何改变"member select"的默认选项。
这是我的代码:
<script src="angular.js"></script>
<div class="bigDiv">
<select class="common_select" name="xxx" ng-options="item as item.teamname for item in team_array" ng-model="select_team" id="" ng-change="selectMemberFun(select_team)">
<option value="" disabled selected hidden>select a team</option>
</select>
<select class="common_select" name="xxxxx" id="" ng-options="item as item.name for item in select_team.members" ng-model="select_member">
<option ng-show="!have_member" value="" disabled selected hidden>no member</option>
<option ng-show="have_member" value="" disabled selected hidden>select a member</option>'
</select>
</div>
<script src="angular.js"></script>
<script>
angular.module('app',[]).controller('xxx',['$scope', function ($scope) {
$scope.have_member = false;
$scope.team_array = [
{teamname: "team1", members:[ {name:'team1member1'}, {name:'team1member2'}]},
{teamname: "team2", members:[ {name:'team2member1'}, {name:'team2member2'}]},
{teamname: "team3", members:[]},
];
$scope.selectMemberFun = function (team) {
if(team.members.length == 0){
$scope.have_member = false;
} else {
$scope.have_member = true;
}
}
}])
</script>
为什么'ng-show'指令不工作?"member select"总是显示"no member"
我已经尝试了几种方法,看起来这个是有效的。
angular.module('app', []).controller('TestController', ['$scope',
function($scope) {
$scope.have_member = false;
$scope.team_array = [{
teamname: "team1",
members: [{ name: 'team1member1' }, { name: 'team1member2' }]
}, {
teamname: "team2",
members: [{ name: 'team2member1' }, { name: 'team2member2' }]
}, {
teamname: "team3",
members: []
}, ];
$scope.selectMemberFun = function(team) {
if (team.members.length == 0) {
$scope.have_member = false;
} else {
$scope.have_member = true;
}
}
}
])
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
<div class="bigDiv" ng-app="app" ng-controller="TestController">
<select class="common_select" name="xxx" ng-options="item as item.teamname for item in team_array" ng-model="select_team" id="" ng-change="selectMemberFun(select_team)">
<option value="" disabled selected hidden>select a team</option>
</select>
<select class="common_select" name="xxxxx" id="" ng-options="item as item.name for item in select_team.members" ng-model="select_member">
<option value="" disabled selected hidden>{{have_member ? 'select a member' : 'no member'}}</option>
</select>
</div>
根据文档-> https://docs.angularjs.org/api/ng/directive/select
<select name="singleSelect" id="singleSelect" ng-model="data.singleSelect">
<option value="">---Please select---</option> <!-- not selected / blank option -->
<option value="{{data.option1}}">Option 1</option> <!-- interpolation -->
<option value="option-2">Option 2</option>
</select>
它不起作用,因为ngOptions
就像ngReapeat
,因为它只会在select_team.members
数组中有值时迭代。在Team3中,成员数组是空的,所以所有的内部<option></option>
都被跳过。
相关文章:
- Angularjs-设置不带ng选项的select的默认值
- JS:如果select是默认值,则禁用复选框
- Angularjs select:如何获取所选项目的位置并设置默认选择
- 使用默认选定的其他数据源时,从 ui-select 选项中删除重复项
- angularjs-lib中的一些prbm默认值在select if(value和name)相同时不起作用
- 如何在默认情况下创建不带选项的select
- AngularJS-多重选择,动态设置默认值select
- 当通过AJAX绑定选项时,是否可以将select元素的默认值传递给Knockout
- Angular Js:您可以将select的默认值与使用'track by'在ng选项中
- Jquery模态+使用select的默认选项卡
- 如何在jquery中将select框的默认返回值设置为null
- 通过单击SELECT选项,将文本INPUT元素的VALUE动态设置为默认值
- 如何在asp中的自定义弹出窗口(通过html数据属性)中的dropdownlist中添加默认项(--Select--)剑
- AngularJS的默认选项select在IE9中不起作用
- Select2.js设置默认值为带有输入数组的select box
- AngularJS ui-select下拉式默认值
- AJAXed Select表单元素默认为第一个选项,即使更改
- 在AngularJS中,如何更改select的默认选项
- 使用AngularJS的双向数据绑定设置SELECT的默认值
- 如何使用angularjs-json数据设置select 2下拉列表的默认值