从 select 标签内 ng-change 中的选项获取 $index

2024-01-17

我发现有很多与此类似的问题,但我找不到任何完全需要我所拥有的问题:

  1. ngRepeat 在选项标签内
  2. 选择标签内的 ngChange

我需要获取所选选项的索引。这是我的代码

<select data-placeholder="Choose" ng-model="pp.sif" name="myname" ng-change="onChangeSifra()">
    <option ng-repeat="item in sif.what track by $index" value="{{item.SIF}}">
        {{item.LABEL}}
    </option>
</select>

ngClick inside option-tag 不适用于 Chrome 和 IE,因此这不是一个选项。 ngOption(在 select-tag 中)而不是 ngRepeat(在 option-tag 中)不是一个选项,因为 sif.what 是一个对象数组;另外,这就是为什么我不能使用indexOf函数(ngModel只有这个对象的一部分)。

有任何想法吗?

编辑: 由于很多人告诉我切换到 ngOption,让我更清楚地说明为什么这不是一个选项。 我迭代这样的事情:

$scope.sif.what = [
    {SIF: 1, LABEL: "label 1", SAVED: "save me 1"},
    {SIF: 2, LABEL: "label 2", SAVED: "save me 2"},
    {SIF: 3, LABEL: "label 3", SAVED: "save me 3"},
]

因此,在组合框中,我将“label”作为标签,“sif”作为值,ngModel 是“sif”的值,但在 ngChange 上我需要整个对象、sif.what(index) 或 $index。

Thanks.


我不确定如何传回所选项目的索引,除非您将其作为所选选项的值。

这是您可能做到的一种方法。

var app = angular.module('app', []);

app.controller('ctrl', function($scope, $filter) {
  $scope.sif = {'what': [{'SIF':'A'},{'SIF':'B'},{'SIF':'C'}]};
  $scope.onChangeSifra = function(item){
     $scope.selectedItem = $filter('filter')($scope.sif.what, {SIF : $scope.pp.sif}, true)[0];
     $scope.selectedItemIndex = $scope.sif.what.indexOf($scope.selectedItem);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.css" />

<body ng-app="app" ng-controller="ctrl">
  <div class="col-lg-12">
    <select data-placeholder="Choose" ng-model="pp.sif" name="sif" ng-change="onChangeSifra()">
      <option ng-repeat="item in sif.what track by $index" value="{{item.SIF}}">
          {{item.SIF}}
      </option>
    </select>
    
    <p>Selected : {{pp.sif}}</p>
    <p>Index : {{selectedItemIndex}}</p>    
  </div>
</body>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 select 标签内 ng-change 中的选项获取 $index 的相关文章

随机推荐

  • 在 Python 中使用 win32api 检测按键

    我正在尝试使用 win32api 通过特定按键来打破 Python 中的循环 人们会怎样做呢 实际版本是什么win32api KeyPress H 在下面的代码中 Revised import win32api while True cp
  • Node.js 安装卡在代码行上

    我的 Node js 安装进度进行到一半 但是在它开始安装所有其他包之后 在命令提示符验证部分之后 它卡在了线上Created a UnelevatedInstallerTelemetryDecorator我应该让它继续运行还是直接杀死它
  • 在 dockerfile 中运行可执行文件

    我是 Docker 新手 正在阅读 Turnbull 的 The Docker Book 本质上 我掌握了容器如何工作以及图像在传输协议和虚拟化操作系统中如何工作的术语和流程 但是 我的 dockerfile 没有运行本地可执行文件 并且我
  • 在 CMake 的构建工具模式下传递参数

    我有一组小的 C 程序要用来编译Nmake 我启动构建过程 cmake G NMake Makefiles cmake build buildDir and Nmake开始编译 问题是构建过程在出现第一个编译错误时停止 我想构建所有可以编译
  • 错误“条件长度 > 1 并且仅使用第一个元素”是什么意思? [复制]

    这个问题在这里已经有答案了 这是我的数据集 FullName lt c Jimmy John Cephus Frank Chester Hank Chester Brody Buck Clyde Merle Rufus Roscoe Jed
  • 根据使用 JavaScript 单击的按钮传递隐藏字段值

    我有一个带有两个按钮的表单 每个按钮都有 onclick this form submit 我的表单中有一个隐藏字段 我希望该字段的值根据单击的按钮而有所不同 最好的方法是什么 另外 在有人说出答案之前 在这种情况下 jQuery 不是一个
  • 使用默认搜索建议适配器时是否有办法限制显示建议的数量?

    如所述使用默认搜索建议适配器时 有没有办法限制显示建议的数量here https developer android com guide topics search adding recent query suggestions html
  • Git 克隆详细输出?

    我必须在 Dockerfile 中克隆几个大型存储库 克隆一个存储库确实需要一个小时 我想查看标准 Git 进度输出以了解发生了什么 但是 当从 Dockerfile 启动 Git 时 我看不到任何 git clone 输出 打印到控制台的
  • 如何阻止 Emacs“污染”剪贴板?

    Emacs 总是将终止 删除的内容复制到剪贴板 我经常需要将内容复制并粘贴到 Emacs 中 但是当我在粘贴之前从 Emacs 中删除现有内容时 我想要粘贴的内容就会丢失 我发现的唯一解决方案是使用 setq save interprogr
  • XML 和 XSLT 保留 CDATA

    我正在开发一个项目 其中包括在 xml 上应用一些 xslt 我的输入 xml 在任何 xml 节点中都包含 CDATA 现在我想要的是如果它有输入 它应该保留 CDATA 我尝试了很多解决方案 例如禁用输出转义和 cdata sectio
  • 在 `Row` 内渲染 ListTile 时出现错误 `Failedassertion: line 1687 pos 12: 'hasSize'`

    我在颤动中有以下代码 Widget build BuildContext context return Center child Card child Column mainAxisSize MainAxisSize min childre
  • 当返回类型不重要时,是否有更优雅的方法来合并可观察量?

    我有一个类似 ReactiveUI 的视图模型 它具有多种不同类型的属性 可以激发NotifyPropertyChanged事件 我想订阅一个在触发任何事件时将被调用的方法 但我对实际值不感兴趣 我当前的代码有点难看 由于不透明true选择
  • 从分叉的上游原点拉取时忽略特定文件

    在 git 中 从上游源 即原始项目 拉取时如何免除某些文件 我正在开发一个项目 该项目最初是从一个非常活跃的存储库中分叉出来的 我已将原始版本添加为名为 upstream 的远程版本 以便可以运行 git pull upstream 并将
  • CouchDB 只写数据库

    我正在尝试设置一个可公开写入且只能由 管理员 角色读取的 CouchDB 数据库 我怎样才能做到这一点 有没有类似的validate doc update访问文档的函数 查看这一页 http wiki apache org couchdb
  • Silverlight Windows Phone 7:手势事件?

    我正在 Expression Blend 中模拟 wp7 应用程序 并寻找设置事件处理程序来响应某些手势 一些 Bing ing 显示一些人建议使用 点击时 或其他东西并检查自己点击之间的时间 但似乎应该有一种更简单的方法 Silverli
  • PHP 生成 RGB

    我面临着这种情况 我有一个来自数据库的 ID 因此它可以是 1 100 1000 并且我需要生成随机颜色 但是相同的 ID 应该会产生相同的颜色 关于如何实现这一目标有什么建议吗 Thanks 使用加密哈希并剪切不需要的字节 functio
  • Laravel Homestead - 在哪里运行 npm(虚拟机与 Windows 10 主机)

    我正在 Windows 10 主机上运行 Laravel Homestead Vagrant 盒子 目前 我正在编译资产 运行npm run dev 在虚拟机内 有时它非常慢 而且我通常会遇到符号链接 运行观察程序等问题 简而言之 需要更多
  • 你能用 css 设置 html 表单按钮的样式吗?

    我不喜欢默认的按钮样式 真的很无聊 我在用
  • 如何修复“python 版本始终返回 2.7 而不是 3.7”

    我下载了 Python 3 7 3 但 Python 2 7 10 已经存在 Now python version返回 2 7 10 我怎样才能解决这个问题 如果您在 Linux 上工作 您可以随时输入python3 version检查它是
  • 从 select 标签内 ng-change 中的选项获取 $index

    我发现有很多与此类似的问题 但我找不到任何完全需要我所拥有的问题 ngRepeat 在选项标签内 选择标签内的 ngChange 我需要获取所选选项的索引 这是我的代码