如何使用Angular使用引导程序下拉列表更新表单输入

时间:2016-09-25 05:17:37

标签: angularjs twitter-bootstrap drop-down-menu angular-ui-bootstrap

我尝试使用uib-dropdown来更新表单。当用户从下拉列表中选择时,它应该在文本框中弹出。如果文本框没有自己的模型,似乎没有问题。

表单已经有自己的模型(vm.formData.categery)来使用POST到数据库。 我需要文本输入,因为如果类别不可供选择,他们可以创建一个新类别。

问题是如何做到这一点?如果使用<select><option>

,则完全没问题
<input type="text" id="category" name="category" ng-model="vm.formData.category" class="form-control">
    <div class="btn-group" uib-dropdown>
      <button class="btn btn-default" uib-dropdown-toggle type="button" id="category">Category
      <span class="caret"></span></button>
      <ul class="dropdown-menu dropdown-menu-right" uib-dropdown-menu>
          <li><a ng-repeat="cat in vm.data.cat" ng-click="vm.addModel(cat.category)">{{cat.category}}</a></li>
      </ul>
    </div>

JS

vm.addModel = function (select) {
        vm.formData.category = select;
};

我也尝试使用ng-change来更新模型,但这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

使用ng-options和ng-change事件,

 <select ng-model="selected" ng-change="addModel(selected)"  ng-options="cat as cat for cat in vm.data.cat">
 </select>