2014-05-21 49 views
3

我在使用Angularng-model在select2选择框中预选一个选项时遇到问题。这里是我的代码:在控制器使用angular-ui-select2预选选项0.0.5

$scope.filter = { 
    searchValue: '', 
    departmentId: 'Department2' 
} 

HTML

<select 
    class="form-control" 
    ui-select2="{allowClear: true}" 
    ng-model="filter.departmentId"> 
    <option value=""></option> 
    <option ng-repeat="(department, majors) in departments" value="{{department}}">{{department}}</option> 
</select> 

数据

{ 
    "Department1": [ 
    { 
     "Name": "Major1", 
     "Id": 1 
    }, 
    { 
     "Name": "Major2", 
     "Id": 2 
    }, 
    { 
     "Name": "Major3", 
     "Id": 3 
    } 
    ], 
    "Department2": [ 
    { 
     "Name": "Major4", 
     "Id": 4 
    }, 
    { 
     "Name": "Major5", 
     "Id": 5 
    }, 
    ] 
} 

由于

角码据我所知,这在angular-ui-select2的版本0.0.2中工作,但不在该版本之上。我找不到任何有关如何做到这一点的信息。

在此先感谢!

+0

这可能来自您在那里输入的错字吗? ** <** option value =“”> – alou

+0

我希望:)但没有,只有一个错误,当我把我的代码粘贴到stackoverflow。好,但是,谢谢! – Bjarki

回答

0

您正在为“$ scope.filter.departmentId”分配一个字符串值,其中由浏览器呈现之后生成的值是内部映射到对象的字符串。 所以直接分配在这里不起作用。这里的设计看起来很臭。要么你做一个单独的字符串数组,或者你可以给一个id来选择标签,并使用JavaScript获取元素,然后为它分配一个值。