javascript - 如何使用局部 View 展开/折叠 html 表格?

标签 javascript jquery html asp.net razor

我正在尝试在单击按钮时展开/折叠表格行。目前我只能扩展行。

我也希望能够折叠它。

我正在使用局部 View 。 我试过这个:expand/collapse table rows with JQuery但无法让它工作,因为我在 foreach 循环中从 sql 数据库加载数据。

澄清一下:这扩展了表格,但我遗漏了我的 javascript 代码的折叠部分。提前致谢。

局部 View

<div class="table" id="logtable">
        <div class="row">
            <div class="cell" id="tableth">
                message
            </div>
        </div>

        @foreach (var item in Model.Logs)
        {
            <div class="row">
                <div class="cell" id="tabletd">
                    <input type="button" name="answer" value="Show Div" onclick="showDiv(@item.id.ToString())" />
                    @Html.DisplayFor(modelItem => item.message)
                </div>
            </div>
            <div class="row">
                <div id="@item.id.ToString()" style="display:none;" class="answer_list">
                    <strong>Uri:</strong> @item.Uri <br/>
                    <strong>Method:</strong> @item.Method <br />
                    <strong>HttpStatus:</strong> @item.HttpStatus <br />
                </div>
            </div>

Javascript(在我的 HTML View 中)

<script type="text/javascript">
            function showDiv(message) {
                document.getElementById(message).style.display = "block";
            }
        </script>

最佳答案

你想要切换功能吗?检查元素的状态,然后选择是显示还是隐藏:

<script type="text/javascript">
            function showDiv(message) {
                if(document.getElementById(message).style.display == 'block'){
                    document.getElementById(message).style.display = "none";
                }
                else{
                    document.getElementById(message).style.display = "block";
                }
            }

</script>

严格来说,这是纯 javascript 而不是 jQuery。如果你真的在使用 jQuery,你可以让它更简单:

        function showDiv(message) {
            $('#'+message).toggle();
        }

您甚至可以制作精美的动画:

        function showDiv(message) {
            $('#'+message).slideToggle();

        }

关于javascript - 如何使用局部 View 展开/折叠 html 表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33075577/

相关文章:

javascript - 如何从异步调用返回响应?

jquery - removeClass() 何时在窗口中?

javascript - 仅更改折叠容器的图像 src

javascript - 使用 JavaScript 在 MongoDB 中返回 _id 的脚本

javascript - socket.io 和 Node 回调函数不起作用

javascript - 如何让 eslint 检测 JSON 文件中的规则违规?

javascript - Jquery:解析 HTML

html - 如何找出要从网页中导入的表的索引是什么?

html - 语义 HTML - 边栏导航

javascript - 如何在 Blazor 组件中引用本地 JS 模块?