我想使用angular来获取所选项目

时间:2016-08-25 08:08:52

标签: javascript angularjs

html代码

<div ng-controller="DropdownCtrl as vm">
  <select name="singleSelect" ng-model="data.model" 
     ng-change="vm.userSelect(data.model)"
     ng-click="vm.loadTenantList()">
    <option ng-repeat="tenant in vm.tenants" >{{tenant.name}}</option>
  </select><br>
</div>

js code

$lmsapp.controller('DropdownCtrl',['tenantServices','dialogService',function (tenantServices,dialogService,$log){
var vm = this;
vm.tenants=[];

vm.loadTenantList=function(){
    tenantServices.tenantList({},function(response){
        vm.tenants=response.dataList;
    });
};

vm.data = {
    availableOptions: [
        vm.loadTenantList()
      ]
   };
}]);

如何获取所选元素?

3 个答案:

答案 0 :(得分:0)

你可以这样将id保存在select选项标签中,如下所示

<select name="singleSelect" ng-model="data.model" 
   ng-change="vm.userSelect(data.model)"
    ng-click="vm.loadTenantList()"  id="TenaList">
    <option ng-repeat="tenant in vm.tenants" >{{tenant.name}}</option>
</select>

在你的剧本中

var e = document.getElementById("TenaList");
var selected_value = e.options[e.selectedIndex].value;

答案 1 :(得分:0)

使用此

vm.data

然后您可以使用{{1}}

获取所选项目

答案 2 :(得分:-1)

而是使用ng-options:

    <div ng-controller="DropdownCtrl as vm">
      <select name="singleSelect" ng-model="vm.selectedTenant" ng-init="vm.loadTenantList()" 
ng-options="tenant as tenant.name for tenant in vm.tenants "> 
      </select>
    </div>

vm.selectedTenant会为您选择的租户。