您的位置:首页 > Web前端 > AngularJS

【Angular】下拉列表写活的,动态查询的下拉列表;

2017-10-13 18:08 966 查看
因业务需要,下拉列表需要动态查询;但是一直显示不出来;

究其原因,乃未初始化也;

一、错误写法:

html页面:

<div class="col-lg-2">
<select class="input-sm form-control" name="major" id="major"  ng-options="option.id as option.name for option in majorList"  ng-model="q.major">
</select>
</div>


1.第一种错误是跟业务冲突:

把majorList写死;

$scope.majorList = [
{ id: 1, name: '主值' },
{ id: 2, name: '副值' }
];


2.不写死,但是没有具体地初始化;(注意体会这个具体二字)

所有后来调用了一个方法,从数据库查询过来的:

questionService.getMajorType({LovId:4}).then(
function (res) {
$scope.majorList = [];
for (var i = 0; i < res.data.length; i++) {
console.log("i:"+i);
/*初始化:*/
var a = {
id: i,
name: res.data[i].name
};
$scope.majorList.push(a);
}
console.log($scope.majorList);
}
);


这里查也查出来了,但是就是显示不出来,而且,会影响到其它的下拉列表,导致其它的下拉列表也显示不出来,百思不得其解,如下图:



后来发现,这其实是因为没有初始化,没有初始化的更具体:

二、解决办法:

如果,我们初始化【专业列表】的时候没有具体,就会出现刚才的那一种错;所以,如果我们有4个专业,初始化的时候,至少要给出一个例子,然后再用动态查询,组装一个同结构的数组,数组里是同结构实体类;下面的这种才是可以的:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: