2015-02-12 36 views
0

我已经看过了角度文档https://docs.angularjs.org/api/ng/directive/ngOptions,但仍然无法找出这一个。Angularjs绑定使用ng选项的下拉列表

我有性别的列表,获取绑定到一个选择是这样的:

  $scope.sexes = jQuery.grep(formData, function(a) { 
       return (a.category == "Sex"); 
      }); 

的JSON的性别列表如下:

  2: Object 
      alternateCode: null 
      category: "Sex" 
      code1: "F" 
      codeID: 60002 
      description: "Female" 
      lastModifiedBy: "" 
      lastModifiedDate: "1900-01-01T00:00:00" 
      subCategory: null 

成员对象应使选择选择有一个属性性别:M。问题是,当我试图绑定选择,将正确填充列表中,但不会选择我需要的选项:

  <select name="sex" id="sex" class="form-control" 
        ng-model="editableMember.sex" 
        ng-options="s.sex as s.description for s in sexes track by s.code1 "></select> 

任何帮助,将不胜感激

+0

_it将正确填充列表,但不会选择我need_选项你的意思是你不能选择下拉菜单中的选项,或当您选择模式不会改变该选项或您希望成为默认选项的选项未被选中? – Hylianpuffball 2015-02-12 02:01:49

+0

appologies我的意思是我的成员对象中传递的值有一个属性sex:当页面加载时,m不会在选项中选择值M – Josh 2015-02-12 03:54:38

+0

值必须相同,因此属性值为“m”对象不会选择“M”选项。这可能是你正在经历的吗? – nickgraef 2015-02-12 04:50:09

回答

1

也许你错过了文档的这一部分:

不要在同一表达式中使用select as和track by。它们不是为了一起工作而设计的。

ng-model值将是要么selecttrack by表达的结果。为ng-options下面的代码应该工作:

ng-options="s.code1 as s.description for s in sexes"