【问题标题】:How to build a table with angularjs and track which row user selected?如何使用 angularjs 构建表格并跟踪用户选择的行?
【发布时间】:2013-10-24 22:03:18
【问题描述】:

我正在从数据库中读取用户数据,并以简单的 .对于每个用户,该行有两列 - firstName 和 Actions。 Actions 是一个带有选项的下拉列表 - 编辑、删除。这是html。

 <table>
    <tr>
        <th>Name</th>
        <th>Actions</th>
    </tr>
    <tr ng-repeat="l in list">
        <td>{{l.name}}</td>
        <td>
            <select ng-model="selected_action" ng-change="action()">
                <option ng-repeat="a in actions" value="{{a}}"> {{a}}</option>
            </select>
        </td>
    </tr>
</table> 

在 action() 函数中,我试图简单地发出这样的警报: alert("selected action: "+$scope.selected_action);但 angularjs 显示“选定的操作:未定义”。有趣的是,我注意到在通过 Chrome 进行调试时,$scope 甚至没有 selected_action 作为变量。我的目标很简单,当用户从表中为用户选择编辑/删除时,将用户带到一个新表单。有人可以在这里指导我吗?谢谢。

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    试试下面的代码:

    <select ng-model=selected_action ng-options="a for a in actions">
      <option value="">-- choose an action --</option>
    </select>
    

    http://docs.angularjs.org/api/ng.directive:select查看 angularjs 文档以供选择

    【讨论】:

    • @chapstick 我创建了一个 plunker plnkr.co/edit/TdDnf1HplfZv3reGhzMY?p=preview。这是你想要的吗?查看 ng-change docs.angularjs.org/api/ng.directive:ngChange 的 Angular js 文档。 “当用户更改输入时评估给定的表达式。当值更改来自模型时,不会评估表达式。”这就是你不确定的原因。您需要将模型作为参数传递给操作函数。
    • 谢谢。我错过了 action() 中 selected_action 的传递。
    猜你喜欢
    • 1970-01-01
    • 2020-08-19
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多