用于选择下拉列表的外键

时间:2014-10-01 15:55:25

标签: angularjs

所以我有数据Foo,它有一个bar_ID字段。

我正在查看https://docs.angularjs.org/api/ng/directive/select,我不确定如何按值填充/预选选项,并按照选择中的值设置模型。

HTML:

Bar:<select ng-model="foo.bar_ID" data-ng-options="bar.name for bar in bars track by bar.ID"></select>
foo.bar_ID: {{foo.bar_ID}}

JS:

$scope.foo = { bar_ID: 2 };
$scope.bars = [
    {
        ID: 1,
        name: "the first"
    },
    {
        ID: 2,
        name: "the second"
    },
    {
        ID: 3,
        name: "the third"
    }];

我在期待:

  • 看&#34;第二个&#34;默认选择,而是?
  • 我选择了某些内容,例如&#34;第一个&#34;,foo.bar_ID将成为2,而是它实际上成为了对象与第二个酒吧相关联。

即使HTML实际上正在成为我的预期:

<option value="1">the first</option>

请参阅:JSFiddle

2 个答案:

答案 0 :(得分:2)

演示:http://jsfiddle.net/s75hjao2/1/

ng-options的语法是value as text for object in objects - 其中value是您将模型设置为等于选择选项的方法。所以你想要:

<select ng-model="foo.bar_ID" data-ng-options="bar.ID as bar.name for bar in bars"></select>

答案 1 :(得分:1)

尝试将此用于ng-options “bar.ID为条形栏中的bar.name”