Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Angular JS中获取单击行的数据_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在Angular JS中获取单击行的数据

Javascript 如何在Angular JS中获取单击行的数据,javascript,angularjs,Javascript,Angularjs,我有几个表行,在相应行的最后一列中有两个可以执行的操作 <div class="embedded-list-table-wrapper embedded-medium migration-status-list-container"> <table class="list-table embedded-list-table no-truncate-td"> <thead>

我有几个表行,在相应行的最后一列中有两个可以执行的操作

        <div class="embedded-list-table-wrapper embedded-medium migration-status-list-container">
            <table class="list-table embedded-list-table no-truncate-td">
                <thead>
                    <tr>
                        <th>
                            <a href="#list-table" class="table-sort table-sort-desc">
                                <span class="table-sort-text">Account Name</span>
                                <span class="table-sort-indicator"></span>
                            </a>
                        </th>
                        <th>
                            <a href="#list-table" class="table-sort table-sort-desc">
                                <span class="table-sort-text"># Batches Completed</span>
                            </a>
                        </th>

                        <th style="width:123px;">Actions</th>
                    </tr>
                </thead>
                <tbody>
                    <tr ng-repeat="item in vm.items | limitTo : vm.pageSize : (vm.currentPage-1)*vm.pageSize">
                        <td class="table-link"><a  class="ng-binding" href="" target="_blank" ng-click="vm.setTenantId($event)">{{item.accountName}}</a></td>
                        <td class="table-text ng-binding">{{item.completedBatches}}</td>
                        <td class="table-input">
                            <div class="btn-group">
                                <div class="dropdown">
                                    <div class="cog dropdown-toggle" ng-click="batch.showSettings = !batch.showSettings"></div>
                                    <ul class="dropdown-menu visible" ng-show="batch.showSettings">
                                        <li><span class="dropdown-category">Manage</span></li>
                                        <li class=""><a href="" ng-click="vm.removeAccount(item.accountName)">Remove from Panel</a></li>
                                        <li class=""><a href="#" ng-click="vm.setEncoreLink()">View</a></li>
                                    </ul>
                                </div>
                            </div>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>
前提是从第一列值传递$event。 如何访问和传递,以便访问租户id?
或者还有其他办法吗?

好的,所以在我看来,您试图从中派生的文本实际上是“{item.accountName}”,对吗?另外,您实际上并不明确,但从示例代码中,我假设您正在尝试执行
setEncoreLink
函数

因此,考虑到您可以这样做:

  • 然后你的函数就可以

    vm.setEncoreLink = function(item){
                    debugger;
                    var tenant_id_text = item.accountName;
                    var tenant_id = tenant_id_text.substring(tenant_id_text.lastIndexOf("#")+1,tenant_id_text.lastIndexOf(")"));
                    var encoreUrl = "https://encore.rackspace.com/accounts/"+tenant_id;
                    $window.location.href=encoreUrl;
                } 
    

    好的,在我看来,您试图从中派生的文本实际上是“{item.accountName}”,对吗?另外,您实际上并不明确,但从示例代码中,我假设您正在尝试执行
    setEncoreLink
    函数

    因此,考虑到您可以这样做:

  • 然后你的函数就可以

    vm.setEncoreLink = function(item){
                    debugger;
                    var tenant_id_text = item.accountName;
                    var tenant_id = tenant_id_text.substring(tenant_id_text.lastIndexOf("#")+1,tenant_id_text.lastIndexOf(")"));
                    var encoreUrl = "https://encore.rackspace.com/accounts/"+tenant_id;
                    $window.location.href=encoreUrl;
                } 
    

    我有点困惑。在您的范围内,租户id从哪里开始?它是否在您正在呈现的项目中?@Paul没有租户id。我们必须从第一列值派生它。如果我们可以获得第一列值文本,我们可以将其传递给函数,我们可以在那里相应地拆分并获取它。为什么不将
    传递给
    setEncoreLink
    方法,这样您就可以直接访问其属性,而不必尝试使用
    $event
    做一些疯狂的事情呢?顺便说一句,您没有从视图中传递
    $event
    ,因此在
    setEncoreLink
    方法中,它总是
    未定义的。在您的范围内,租户id从哪里开始?它是否在您正在呈现的项目中?@Paul没有租户id。我们必须从第一列值派生它。如果我们可以获得第一列值文本,我们可以将其传递给函数,我们可以在那里相应地拆分并获取它。为什么不将
    传递给
    setEncoreLink
    方法,这样您就可以直接访问其属性,而不必尝试使用
    $event
    做一些疯狂的事情呢?顺便说一句,您没有从视图中传递
    $event
    ,因此在
    setEncoreLink
    方法中,它将始终是
    未定义的