【问题标题】:AngularJS and Html select using object array [duplicate]AngularJS和Html使用对象数组选择[重复]
【发布时间】:2014-05-14 13:01:35
【问题描述】:

我有以下数据项,我想绑定到一个 html 选择元素并显示可用的答案

var array = [{ name: 'bob', isSelected: false}, {name: 'james', isSelected: false}];

每个项目的 isSelected 属性要么为真,要么为假。如果为真,我希望在选择元素中选择该项目。

我还需要将 isSelected 属性更新为真/假,具体取决于该项目是否被选中。

我试过用这个,但什么都没有显示

<select ng-options="a.name for a in array">
</select>

有人可以帮忙吗?

【问题讨论】:

  • 如果不是select multiple 为什么需要isSelected 属性? select 的值将是选择的任何名称。
  • 请只提出以前在堆栈上没有回答的问题。
  • 您还需要一个 ng-model 属性来存储值,以便 ng-options 工作。我建议你这样做类似于jsfiddle.net/HB7LU/3629
  • 每个人都是正确的,一旦你选择了某些东西,你需要 ng-model 来进行实际的绑定,但是选择中没有显示任何内容的主要原因是因为你有 var 数组而不是 $scope.array .

标签: javascript angularjs model-view-controller


【解决方案1】:

您的示例中没有绑定。这是来自 AngularJS 文档的更完整示例:https://docs.angularjs.org/api/ng/directive/select。换句话说,ng-model="" 是必需的。

【讨论】:

    【解决方案2】:

    您应该使用 ng-model 来检索 &lt;select&gt; 的值,而不是存储每个项目的 isSelected 属性

    例如:

    <select ng-model="result" ng-options="a.name for a in array" multiple>
    </select>
    

    您的选择将绑定结果。在这种情况下。如果您选择第一个选项。结果将是 [{name: 'bob'}]。

    请注意,多选的结果始终是一个数组

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-23
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      • 2017-05-10
      • 2017-06-29
      • 2019-10-25
      • 1970-01-01
      相关资源
      最近更新 更多