javascript - 如何使用 Angular 填充 select ng 选项

标签 javascript jquery angularjs

我尝试使用 Angular ng选项填充选择中的值。在我的数组对象中,如果数组中没有“id”属性,我不应该在选择中添加值。

期望:

应仅填充数组对象中具有“id”属性的值。

当前行为:

目前,它无法正确过滤,并且没有 id 属性的对象在选择选项中显示为空。添加了图像当前的外观,它不会跳过其中没有“id”属性的数组属性。

图片:

enter image description here

JSON:

[
  {
    "name": "abc"
  },
  {
    "id": 123,
    "name": "def"
  },
  {
    "id": 456,
    "name": "ghi"
  }

]

HTML:

<select id="selectBox" ng-model="vm.selectedVal" ng-change="vm.selectChange()"
ng-options="myobj.id as (myobj.name ? (myobj.name + ' - ' + (myobj.id | formatId)) : (myobj.id | formatId)) for myobj in (vm.myobj | filter:{id:'!!'}) track by myobj.id">
</select>

最佳答案

您的代码运行良好,空白不是数组项,但未设置模型值,因此它正在添加一个项目,给出一个默认值,例如“--选择一个项目--”

试试这个:

<select id="selectBox" 
      ng-model="vm.selectedVal"
      ng-options="item.id as item.name for item in list  | filter:emptyOrNull">
      <option value="">Select One</option>
</select>

在 Controller 上:

$scope.emptyOrNull = function(item){
  return !(item.id == null || item.id == undefined)
}

关于javascript - 如何使用 Angular 填充 select ng 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39260049/

相关文章:

Javascript OnClick 更改各种元素链接颜色

javascript - 计算 JavaScript 对象中的属性数量

jquery - 从图像包装器中显示 Bootstrap 轮播标题

javascript - 当表单包含未保存的数据时警告用户,忽略数据表过滤字段

javascript - 每个文件的选择性 Rails 3.2 Assets 管道压缩

javascript - 如何使媒体查询覆盖在代码中动态设置的值?

javascript - 类型 'File' 的参数不可分配给类型 'string' 的参数

javascript - 无法将字符串传递给另一个函数

javascript - 使用 AngularJs 和 Firebase 无限滚动

codeigniter - 我可以在没有终端的情况下使用 Angular JS 吗?