2014-11-05 71 views
1

简单的问题,可能讨论过很多次,但我无法在这个简单的问题上找到适当的解决方案。ui-select2和ng-options的问题

问题: 为什么道尔顿可选,但选择元素中不显示选定的道尔顿?

控制器:

var myApp = angular.module('myApp', ['ui.select2']); 

function MyCtrl($scope) { 
    $scope.daltons = [ 
     { id: 10, name: 'Joe' }, 
     { id: 20, name: 'William' }, 
     { id: 30, name: 'Jack' }, 
     { id: 40, name: 'Averell' }, 
     { id: 50, name: 'Ma' } 
    ]; 
    $scope.selectedDaltons = [40]; // Averell is preselected 
}; 

查看:

<div ng-controller="MyCtrl"> 
    <label for="1">Please select items:</label> 
    <select id="1" 
      ui-select2 
      multiple 
      ng-model='selectedDaltons' 
      ng-options="dalton.id as dalton.name for dalton in daltons"> 
    </select> 
    <label for="2">Selected Items:</label> 
    <ul id="2"> 
     <li ng-repeat="dalton in selectedDaltons">{{dalton}}</li> 
    </ul> 
</div> 

Here it is as a jsfiddle

+0

它的工作对我来说,埃夫里尔并没有出现在列表中了。 – 2014-11-05 11:51:08

回答

3

我认为这个问题是NG选项在UI的选择2不支持。我返工使用选项标签与NG-重复你的提琴:

http://jsfiddle.net/u48j0yyc/1/

<div ng-controller="MyCtrl"> 
    <label>Please select items:</label> 
    <select ui-select2 multiple ng-model='selectedDaltons'> 
     <option ng-repeat="d in daltons" ng-bind="d.name" value="{{ d.id }}"></option> 
    </select> 
    <label>Selected Items:</label> 
    <ul> 
     <div ng-bind="selectedDaltons"></div> 
    </ul> 
</div> 


var myApp = angular.module('myApp', ['ui.select2']); 
function MyCtrl($scope) { 
    $scope.daltons = [ 
     { id: 10, name: 'Joe' }, 
     { id: 20, name: 'William' }, 
     { id: 30, name: 'Jack' }, 
     { id: 40, name: 'Averell' }, 
     { id: 50, name: 'Ma' } 
    ];  
    $scope.selectedDaltons = [40]; // Averell is preselected 
}; 
+0

我笨!谢谢 :) – Jobacca 2014-11-13 14:03:43