当前位置: 首页 > 知识库问答 >
问题:

AngularJS/Bootstrap-使用按钮选择行并在模式中打开详细信息

轩辕炎彬
2023-03-14

我正在使用AngularJS、Bootstrap和data-toggle打开模态。我想单击表中的一行,获取索引号并存储它,然后单击按钮打开一个模态,该模态使用存储的索引显示该行的更多详细信息。

我的代码现在可以获取单击行的索引,我的按钮打开一个模式,但它们没有连接,因此按钮获取行索引并在模式中显示这些细节。我的模式显示所有行数据,而不是单击的行的详细信息。如何将单击的行连接到按钮,以及如何使我的模式显示一个应用程序而不是所有应用程序的详细信息?任何帮助都将不胜感激!

这是我的JS小提琴。

以下是click函数的代码段:

$scope.selectedRow = null;

$scope.clickRow = function(index) {
    $scope.selectedRow = index;
    console.log(index);
};

$scope.getDetails = function(index) {
    $scope.selectedRow = index;
    console.log(index);
};

这是调用单击函数的表和模式的代码:

<div id="tableDiv">
    <table id="myTable" class="table display">
        <thead>
            <tr>
                <th ng-repeat="(i, th) in head" value="{{th.id}}" class="{{th.class}}"><span>{{th.name}}</span></th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="app in apps | filter:search" ng-click="clickRow($index)" ng-class="{selected: $index === selectedRow}">
                <td>{{app.appName}}</td>
                <td>{{app.dateCreated}}</td>
                <td>{{app.dateUpdated}}</td>
                <td>{{app.payload}}</td>
                <td>{{app.status.name}}</td>
                <td>{{app.errorCode.name}}</td>
                <td>{{app.errorDesc}}</td>
            </tr>
        </tbody>
        <tfoot>
            <tr>
                <th ng-repeat="(i, th) in head" value="{{th.id}}"><span>{{th.name}}</span></th>
            </tr>
        </tfoot>
    </table>
</div>

<div id="details">
    <button class="btn btn-default" data-toggle="modal" data-target="#myModal" ng-click="getDetails($index)">Launch</button>
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog"
        aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"
                        aria-hidden="true">&times;</button>
                    <h4 class="modal-title" id="myModalLabel">Details</h4>
                </div>
                <div class="modal-body">
                    <table class="table display">
                        <thead>
                            <tr>
                                <th ng-repeat="(i, th) in details" value="{{th.id}}"
                                    class="{{th.class}}"><span>{{th.name}}</span></th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr ng-repeat="app in apps">
                                <td>{{app.appName}}</td>
                                <td>{{app.errorDesc}}</td>
                                <td>{{app.recordCount}}</td>
                                <td>{{app.recordFail}}</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>
</div>

共有1个答案

赫连俊雄
2023-03-14

我要指出的第一件事是,实际上您并没有使用angular ui引导,您使用的是没有angular指令的jQuery版本,这样做会让您的生活更加困难。如果你想用这个做更多的事情,或者做更多的情态动词,我建议切换。

不过,你仍然可以做到这一点。

不要在点击行($index)中传递$index,而是传递应用程序本身,并将其分配给scope属性。它是在ng repeat循环中创建的变量,可以由循环中的其他表达式访问。

$scope.clickRow = function(app) {
  $scope.selectedApp = app
};

然后,在您的modal的html中,您可以绑定到selectedApp的属性。它应该只向您显示该应用程序的数据。

 类似资料:
  • 单击单选按钮时,如何筛选用户详细信息? 柱塞 *实际上,我想在列表页面中过滤身份验证用户问题,所以我创建了一个柱塞。如果我是经过身份验证的用户(或)管理员,我希望仅在列表页面中筛选。 例如:在plunker中,我的是表示如果我单击单选按钮,我的问题只需要。 我的HTML单选按钮:- 我的HTML筛选器:- 我的控制器数据:- 我们尝试了,但它并不完美。

  • 问题内容: 我有一个单选按钮,用于设置或基于交易类型的值 演示可以在这里找到 问题是当我单击任意一个单选按钮时,的值不会改变 我的JavaScript代码是 请让我知道我在做什么错。 另外,除非没有其他选择,否则我不想使用或用于此目的。 问题答案: 您在单选按钮的顶部贴了一个大标签,以防止输入到您的单选按钮。该html应该显示为: 然后它可以工作,当然,它可能看起来不像您想要的那样。

  • 问题内容: 我想要的是发布需求,然后单击“ openTab”按钮,在新选项卡中打开响应html。无法使用来执行此操作。我认为这可能很简单,但是我找不到办法。 问题答案: 您可以使用$ window服务在此处在控制器中完成所有操作。$ window是全局浏览器对象窗口的包装。 为此,将$ window注入到控制器中,如下所示 重定向到动态路由时效果很好

  • 问题内容: 我知道在某些Google线程中已经提到了这一点,但是我仍然找不到将无线电输入绑定到模型的正确解决方案(以简洁的方式), 目前,我有HTML: 在控制器中: 这不起作用(与复选框相同)… 关于如何在不丢失数据绑定的情况下在第一个单选按钮上设置默认值的任何想法? 谢谢! 问题答案: 我认为您应该在这两个单选按钮中使用具有不同值的相同变量。 然后,您应该根据用户输入设置“ Rma”或“ De

  • 问题内容: 我正在尝试从3个按钮的列表中进行选择,但是找不到选择它们的方法。以下是我正在使用的HTML。 我可以使用以下代码找到它: 输出:SRF,COM,MOT 但我想选择ChoiceOne。(单击它)我该怎么做? 问题答案: 使用CSS选择器或XPath 直接按属性选择,然后单击它。 更正(但是OP应该学习如何在文档中查找) 在Python绑定中,它不存在,称为。一个人应该能够查看异常消息并在

  • 此输出:SRF、COM、MOT 但我想选一个。(点击它)我怎么做?