无法使用Angular.js动态地将值设置到下拉列表中

时间:2016-10-12 11:24:31

标签: javascript angularjs

我无法使用Angular.js动态地将值设置到下拉列表中。我在下面解释我的代码。

<div class="input-group bmargindiv1 col-md-12">
    <span class="input-group-addon ndrftextwidth text-right" style="width:180px">Business Name :</span>
    <select class="form-control" id="restau" ng-model="subcat" ng-options="qua.name for qua in listOfRestaurant | orderBy:'name' track by qua.value" ng-change="getDayFromSpecial('restau');">
      <option value="">Select Business Name</option>
    </select>
  </div>
  <input type="button" id="btn" value="Open" ng-click="openGallery();">
   <input type="button" id="btn1" value="select" ng-click="openSelect();">

我的控制器端代码如下所示。

$scope.openSelect=function(){
     $scope.subcat.value="1";
   }

在这里,我想使用按钮点击设置值,但是它的抛出错误。Here is my plunkr代码。

1 个答案:

答案 0 :(得分:2)

因为您尚未定义$scope.subcat对象&amp;你正在尝试分配它的value属性。

$scope.subcat = {}; //define it inside controller
$scope.openSelect=function(){
   $scope.subcat.value = "1";
}

Forked Plunkr

  

警告:因为您只设置了对象的value属性,ng-options会在下拉菜单中为您选择选项。但是其他property值呢?   如果您假设value为唯一约束&amp;完全负责任   整个记录标识然后它完全没问题。