【问题标题】:Get id of row selected using angular.js using ngSelect or ngOptions使用 ng Select 或 ng Options 获取使用 angularjs 选择的行的 id
【发布时间】:2017-06-19 05:06:47
【问题描述】:

我正在使用 angular.js 创建一个动态表,其中填充了一项研究的结果。如果用户单击表中的特定行,我需要能够显示有关每项研究的更多数据。这是表格的样子。我想我必须使用 ngOptions 或 ngSelect,但我不确定。非常感谢任何帮助。

 <table class="table table-condensed table-hover">
          <thead>
            <tr>
              <td class="center" id="table-header">Date</td>
              <td class="center" id="table-header">Study</td>
              <td class="center" id="table-header">Sample</td>
              <td class="center" id="table-header">File</td>
              <td class="center" id="table-header">Big Data</td>
              <td class="center" id="table-header">Action</td>
            </tr>
          </thead>
          <tbody ng-repeat="study in studies | filter: filter_name">
            <tr>
              <td class="center">{{ study.created_at }}</td>
              <td class="center">{{ study.study }}</td>
              <td class="center">{{ study.sample }}</td>
              <td class="center">{{ study.fastq }}</td>
              <td class="center">{{ study.bigData }}</td>
              <td class="center">
               <div class="dropdown center">
                  <button id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                    Action
                    <span class="caret"></span>
                  </button>
                  <ul class="dropdown-menu" aria-labelledby="dLabel">
                    <li id="list-item">Continue</li>
                    <li id="list-item" data-toggle="modal" data-target="#more-metadata-modal">More Data</li>
                    <li id="list-item" data-toggle="modal" data-target="#edit-metadata-modal">Edit</li>
                    <li id="list-item" data-toggle="modal" data-target="#delete-metadata-modal">Delete</li>
                  </ul>
                </div>
              </td>
            </tr>
          </tbody>
        </table>

【问题讨论】:

  • 几个通知首先,ng-repeat 应该在&lt;tr&gt; 中,因为那是您想要重复(行)的内容,对吗?您也有许多具有相同id 属性的元素,id 必须是唯一的。那么如何获取 更多数据,例如通过 ajax 调用或者它们是已知的?

标签: javascript angularjs html-table


【解决方案1】:

使用 ng-Click 并传递对象或 id,您可以从中获取所选项目的更多值。

ng-click=showMore(study);

使用这个研究,您可以填充一个范围对象,该对象可用于该特定研究对象的模式面板中

【讨论】:

  • 添加了一个 'ng-click = showMore(study)' 并且在角度控制器中我有这个代码.. $scope.showMore = function(data) { console.log("current data",数据); $scope.study = 数据; };
  • 它控制台记录了正确的点击数据,但没有将新变量绑定到范围?想不出来这个
  • 这有点奇怪,因为如果你在日志中获取应该分配的值。试试 $cope.study=angular.copy(data)
  • 好吧,我真的不明白。我尝试了 angular.copy,但它不起作用,但我也可以控制台记录 $scope.study,但只能在角度控制器中。
  • Scope.study 只能在控制器中访问。你要在哪里??
猜你喜欢
  • 2017-12-31
  • 2012-10-14
  • 2014-07-06
  • 1970-01-01
  • 2016-03-08
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
相关资源
最近更新 更多