【问题标题】:Bootstrap accordion is not working when trying to do it with dynamic ids尝试使用动态 ID 时,Bootstrap 手风琴不起作用
【发布时间】:2020-01-12 02:30:06
【问题描述】:

它不会因 foreach 分配的 id 而崩溃。

我已经尝试过使用非动态 id 并且它有效。

<div class="accordion" id="myAccordion">
    @foreach (var item in Model)
    {
        <div class="card">
            <div class="card-header">
                <h5 class="mb-0">
                    <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#@item.Id">
                        @item.Version.Component.Product.Name's @item.Version.Component.Name's @item.Version.ReleaseNumber Version
                    </button>
                </h5>
            </div>
            <div id="@item.Id" class="collapse" data-parent="#myAccordion">
                <div class="card-body">
                    Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
                </div>
            </div>
        </div>
    }
</div>
</div>

【问题讨论】:

    标签: html razor bootstrap-4 razor-pages


    【解决方案1】:

    在检查器中,检查#@item.ID 评估是否正确?

    或者尝试 data-toggle="collapse-next"

    编辑:

    它评估的是什么,可能有问题的字符?

    【讨论】:

    • 是的,item.ID 正在正确评估。我也尝试过制作数据切换“collapse-next”。还是不行。
    • 这些撇号对你有用吗? '是 html 中的撇号。
    【解决方案2】:

    数字 ID 不适用于 Bootstrap 手风琴(请参阅 this question)。所以在 id 和 data 目标前面加上一个字母。此外,当 @ 符号嵌入到字符串中时,您必须使用括号来标识要执行的代码。

            <div class="card-header">
                <h5 class="mb-0">
                    <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#X@(item.Id)">
                        @item.Version.Component.Product.Name's @item.Version.Component.Name's @item.Version.ReleaseNumber Version
                    </button>
                </h5>
            </div>
            <div id="X@(item.Id)" class="collapse" data-parent="#myAccordion">
                <div class="card-body">
                    Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
                </div>
            </div>
    

    正如@terrencep 所说,您应该查看浏览器的页面检查器以查看 data-toggle 的值。

    【讨论】:

    • 我已经尝试过这种方法,它在没有括号的情况下以相同的方式评估为 html,仍然不起作用。
    • 我遇到了同样的问题,当我查看我的代码时,我认为问题是括号。这是因为只有数字的 id 不起作用。更新了我的答案并链接到类似问题
    猜你喜欢
    • 2019-08-09
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    • 2016-04-28
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多