AngularJS - 下拉列表未显示所选选项

时间:2015-02-24 18:13:53

标签: angularjs

我有这个选择下拉菜单" Enbridge Billing"地选择。

<select class="form-control required ng-pristine ng-valid" ng-model="finance.payment_method" id="payment_method" name="payment_method">
    <option value=""></option>
    <option value="EGD" selected="selected">Enbridge Billing</option>
    <option value="PAPP">PAD Billing</option>
</select>

但是,在屏幕上,它未被选中:

Empty Select dropdown

我已经从app.js中删除了所有内容,但仍然存在问题:

var app = angular.module('portal', []);

app.config(function($interpolateProvider) {
    $interpolateProvider.startSymbol('%%');
    $interpolateProvider.endSymbol('%%');
});

app.controller('NewJobFinanceController',
    function ($scope) {


    });

编辑:

我刚刚在控制器中执行了此操作:

$scope.finance.payment_method = $('#payment_method').find(':selected').val();

2 个答案:

答案 0 :(得分:4)

角度中的单一真实点是模型。不是观点。您更新模型,视图会自动更新以反映模型的状态。

您将选择框配置为

<select ng-model="finance.payment_method" ...>

这意味着当前选择的值为finance.payment_method。这就是angular获得所选值的位置。由于它未定义,因此您有一个空白的选择框。

顺便说一下,你不应该将你的选择框的类设置为必需的ng-pristine和ng-valid。 angular将自行添加和删除此类,具体取决于表单控件的实际状态。

答案 1 :(得分:2)

只需使用ng-selected="true"代替selected="selected"