html代码:
说明:
这句话我截图单独解释下:这里是因为要给select框一个默认选中的选项,所以我把它单独写在一个option里边。当然还有别的方法,只不过我是这样写的
ng-model="province"必须写,select选中的值就是ponvince的值,在js页面用$scope.ponvince就可以取到。
ng-change="initTabelData()" 这句代码的意思是:当select框选中的内容发生改变时,重新调用查询接口
js代码:
解释:(查询要传递的参数,一般会根据参数查询不同内容)
解释:select下拉列表所展示的内容,不过这里没有默认选中的,所以可以在下拉列表中写一项默认选中的列表
<option value="" selected="selected">全部</option> 写完这行之后,这个就是默认选中的,接着在写循环遍历列表
说明:这里是查询请求接口得到的列表数据,$scope.province的到的就是页面select选中的那一项的value值。
然后根据选中的值为filter对象添加属性,最后把filter传递给后台,得到查询单的数据。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
代码在上边都解释过了,下边可以复制的页面用:
代码:
html:
<select ng-model="province" class="btn btn-default" ng-change="initTabelData()">
<option value="" selected="selected">全部</option>
<option ng-repeat="p in provinces" value="{{p.value}}" >{{p.text}}</option>
</select>
js:
//过滤
$scope.filter = {};
//select下拉列表的内容
$scope.provinces = [
{
value: 1,
text: '充值',
},
{
value: 2,
text: '消费',
}
];
//列表数据
$scope.initTabelData = function() {
if($scope.province == 1){
$scope.filter.transaction_type = 1;
}else if($scope.province == 2){
$scope.filter.transaction_type = 2;
}else{
$scope.filter = {};
}
$request.post("接口", $scope.filter,
function(response) {},
function(err) {});
}